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

View file

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

View file

@ -8,11 +8,8 @@ namespace Femto.Api.Sessions;
internal static class HttpContextSessionExtensions 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 cookieSettings = httpContext.RequestServices.GetService<IOptions<CookieSettings>>();
var secure = cookieSettings?.Value.Secure ?? true; var secure = cookieSettings?.Value.Secure ?? true;