inject logger

This commit is contained in:
john 2025-05-20 11:58:18 +02:00
parent 8a0834aaa5
commit 2e4a55f154
3 changed files with 7 additions and 10 deletions

View file

@ -16,8 +16,7 @@ internal class SessionAuthenticationHandler(
ILoggerFactory logger,
UrlEncoder encoder,
IAuthModule authModule,
CurrentUserContext currentUserContext,
IOptions<CookieSettings> cookieOptions
CurrentUserContext currentUserContext
) : AuthenticationHandler<AuthenticationSchemeOptions>(options, logger, encoder)
{
protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
@ -44,7 +43,7 @@ internal class SessionAuthenticationHandler(
var identity = new ClaimsIdentity(claims, this.Scheme.Name);
var principal = new ClaimsPrincipal(identity);
this.Context.SetSession(result.Session, result.User);
this.Context.SetSession(result.Session, result.User, Logger);
currentUserContext.CurrentUser = new CurrentUser(
result.User.Id,
result.User.Username,

View file

@ -20,7 +20,8 @@ namespace Femto.Api.Controllers.Auth;
public class AuthController(
IAuthModule authModule,
IOptions<CookieSettings> cookieSettings,
ICurrentUserContext currentUserContext
ICurrentUserContext currentUserContext,
ILogger<AuthController> logger
) : ControllerBase
{
[HttpPost("login")]
@ -28,7 +29,7 @@ public class AuthController(
{
var result = await authModule.Command(new LoginCommand(request.Username, request.Password));
HttpContext.SetSession(result.Session, result.User);
HttpContext.SetSession(result.Session, result.User, logger);
return new LoginResponse(
result.User.Id,
@ -44,7 +45,7 @@ public class AuthController(
new RegisterCommand(request.Username, request.Password, request.SignupCode)
);
HttpContext.SetSession(result.Session, result.User);
HttpContext.SetSession(result.Session, result.User, logger);
return new RegisterResponse(
result.User.Id,

View file

@ -8,11 +8,8 @@ namespace Femto.Api.Sessions;
internal static class HttpContextSessionExtensions
{
public static void SetSession(this HttpContext httpContext, Session session, UserInfo user)
public static void SetSession(this HttpContext httpContext, Session session, UserInfo user, ILogger logger)
{
var loggerFactory = httpContext.RequestServices.GetRequiredService<ILoggerFactory>();
var logger = loggerFactory.CreateLogger("Femto");
var cookieSettings = httpContext.RequestServices.GetService<IOptions<CookieSettings>>();
var secure = cookieSettings?.Value.Secure ?? true;