feat(api): refactor login logic to use domain methods and cookie helpers
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
using FiscalOS.API.Http;
|
||||||
|
|
||||||
namespace FiscalOS.API.Login;
|
namespace FiscalOS.API.Login;
|
||||||
|
|
||||||
internal static class Endpoint
|
internal static class Endpoint
|
||||||
@@ -32,22 +34,13 @@ internal static class Endpoint
|
|||||||
}
|
}
|
||||||
|
|
||||||
var accessToken = tokenService.GenerateAccessToken(user);
|
var accessToken = tokenService.GenerateAccessToken(user);
|
||||||
|
|
||||||
var refreshToken = tokenService.GenerateRefreshToken(user);
|
var refreshToken = tokenService.GenerateRefreshToken(user);
|
||||||
await appDbContext.RefreshTokens.AddAsync(refreshToken);
|
|
||||||
|
user.AddRefreshToken(refreshToken);
|
||||||
|
|
||||||
await appDbContext.SaveChangesAsync();
|
await appDbContext.SaveChangesAsync();
|
||||||
|
|
||||||
httpContext.Response.Cookies.Append(
|
httpContext.SetRefreshTokenCookie(refreshToken);
|
||||||
"fiscalos_refresh_cookie",
|
|
||||||
refreshToken.Token,
|
|
||||||
new CookieOptions
|
|
||||||
{
|
|
||||||
HttpOnly = true,
|
|
||||||
Expires = refreshToken.ExpiresAt,
|
|
||||||
SameSite = SameSiteMode.Strict,
|
|
||||||
Secure = true
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
return Results.Ok(Response.From(accessToken));
|
return Results.Ok(Response.From(accessToken));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user