From 178f03459b39e66755a363cc6b89ff4deec73438 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Mon, 2 Feb 2026 13:18:15 -0600 Subject: [PATCH] feat(api): integrate abstracted token generation and update login endpoint --- src/FiscalOS.API/FiscalOS.API.csproj | 1 - src/FiscalOS.API/Login/Endpoint.cs | 13 +++++-------- .../ServiceCollectionExtensions.cs | 4 +++- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/FiscalOS.API/FiscalOS.API.csproj b/src/FiscalOS.API/FiscalOS.API.csproj index 7648209..abc943c 100644 --- a/src/FiscalOS.API/FiscalOS.API.csproj +++ b/src/FiscalOS.API/FiscalOS.API.csproj @@ -1,7 +1,6 @@ - runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/FiscalOS.API/Login/Endpoint.cs b/src/FiscalOS.API/Login/Endpoint.cs index c6880bf..3f85d9c 100644 --- a/src/FiscalOS.API/Login/Endpoint.cs +++ b/src/FiscalOS.API/Login/Endpoint.cs @@ -1,5 +1,4 @@ - -using FiscalOS.Core.Identity; +using FiscalOS.Core.Authentication; namespace FiscalOS.API.Login; @@ -13,11 +12,11 @@ internal static class Endpoint } private static async Task HandleAsync( + HttpContext httpContext, [FromBody] LoginRequest loginRequest, - [FromServices] HttpContext httpContext, [FromServices] AppDbContext appDbContext, [FromServices] IPasswordHasher passwordHasher, - [FromServices] TokenService tokenService + [FromServices] ITokenGenerator tokenService ) { var user = await appDbContext.Users.SingleOrDefaultAsync(u => u.Username == loginRequest.Username); @@ -47,13 +46,11 @@ internal static class Endpoint { HttpOnly = true, Expires = refreshToken.ExpiresAt, - // TODO: Revisit when decided - // on hosting setup - SameSite = SameSiteMode.None, + SameSite = SameSiteMode.Strict, Secure = true } ); - return Results.Ok(new Response(accessToken)); + return Results.Ok(Response.From(accessToken)); } } \ No newline at end of file diff --git a/src/FiscalOS.Infra/DependencyInjection/ServiceCollectionExtensions.cs b/src/FiscalOS.Infra/DependencyInjection/ServiceCollectionExtensions.cs index e4dc4d2..158d635 100644 --- a/src/FiscalOS.Infra/DependencyInjection/ServiceCollectionExtensions.cs +++ b/src/FiscalOS.Infra/DependencyInjection/ServiceCollectionExtensions.cs @@ -4,7 +4,9 @@ public static class ServiceCollectionExtensions { public static IServiceCollection AddInfrastructure(this IServiceCollection services) { - services.AddSingleton(static (_) => PasswordHasher.New()); + services.AddSingleton(TimeProvider.System); + services.AddSingleton(TokenGenerator.From); + services.AddSingleton(PasswordHasher.From); services.ConfigureOptions(); services.AddDbContext(); services.AddHostedService();