add remember me to API
This commit is contained in:
parent
84457413b2
commit
dac3acfecf
5 changed files with 32 additions and 24 deletions
|
@ -9,10 +9,8 @@ namespace Femto.Api.Controllers.Auth;
|
|||
|
||||
[ApiController]
|
||||
[Route("auth")]
|
||||
public class AuthController(
|
||||
ICurrentUserContext currentUserContext,
|
||||
IAuthService authService
|
||||
) : ControllerBase
|
||||
public class AuthController(ICurrentUserContext currentUserContext, IAuthService authService)
|
||||
: ControllerBase
|
||||
{
|
||||
[HttpPost("login")]
|
||||
public async Task<ActionResult<LoginResponse>> Login(
|
||||
|
@ -23,14 +21,15 @@ public class AuthController(
|
|||
var result = await authService.GetUserWithCredentials(
|
||||
request.Username,
|
||||
request.Password,
|
||||
request.RememberMe,
|
||||
cancellationToken
|
||||
);
|
||||
|
||||
|
||||
if (result is null)
|
||||
return this.BadRequest();
|
||||
|
||||
|
||||
var (user, session) = result;
|
||||
|
||||
|
||||
HttpContext.SetSession(session, user);
|
||||
|
||||
return new LoginResponse(user.Id, user.Username, user.Roles.Any(r => r == Role.SuperUser));
|
||||
|
@ -39,10 +38,15 @@ public class AuthController(
|
|||
[HttpPost("register")]
|
||||
public async Task<ActionResult<RegisterResponse>> Register([FromBody] RegisterRequest request)
|
||||
{
|
||||
var (user, session) = await authService.CreateUserWithCredentials(request.Username, request.Password, request.SignupCode);
|
||||
var (user, session) = await authService.CreateUserWithCredentials(
|
||||
request.Username,
|
||||
request.Password,
|
||||
request.SignupCode,
|
||||
request.RememberMe
|
||||
);
|
||||
|
||||
HttpContext.SetSession(session, user);
|
||||
|
||||
|
||||
return new RegisterResponse(
|
||||
user.Id,
|
||||
user.Username,
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
namespace Femto.Api.Controllers.Auth;
|
||||
|
||||
public record LoginRequest(string Username, string Password);
|
||||
public record LoginRequest(string Username, string Password, bool RememberMe);
|
|
@ -1,3 +1,3 @@
|
|||
namespace Femto.Api.Controllers.Auth;
|
||||
|
||||
public record RegisterRequest(string Username, string Password, string SignupCode, string? Email);
|
||||
public record RegisterRequest(string Username, string Password, string SignupCode, bool RememberMe);
|
Loading…
Add table
Add a link
Reference in a new issue