diff options
Diffstat (limited to 'server/src/Utilities')
| -rw-r--r-- | server/src/Utilities/BasicAuthenticationHandler.cs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/server/src/Utilities/BasicAuthenticationHandler.cs b/server/src/Utilities/BasicAuthenticationHandler.cs index 2b9d9ef..1793c95 100644 --- a/server/src/Utilities/BasicAuthenticationHandler.cs +++ b/server/src/Utilities/BasicAuthenticationHandler.cs @@ -8,7 +8,7 @@ namespace IOL.GreatOffice.Api.Utilities; public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSchemeOptions> { private readonly AppDbContext _context; - private readonly IConfiguration _configuration; + private readonly AppConfiguration _configuration; private readonly ILogger<BasicAuthenticationHandler> _logger; public BasicAuthenticationHandler( @@ -17,11 +17,11 @@ public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSc UrlEncoder encoder, ISystemClock clock, AppDbContext context, - IConfiguration configuration + IOptions<AppConfiguration> configuration ) : base(options, logger, encoder, clock) { _context = context; - _configuration = configuration; + _configuration = configuration.Value; _logger = logger.CreateLogger<BasicAuthenticationHandler>(); } @@ -34,8 +34,8 @@ public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSc return Task.FromResult(AuthenticateResult.Fail("Missing Authorization Header")); try { - var token_entropy = _configuration.GetValue<string>("TOKEN_ENTROPY"); - if (token_entropy.IsNullOrWhiteSpace()) { + var tokenEntropy = _configuration.APP_AES_KEY; + if (tokenEntropy.IsNullOrWhiteSpace()) { _logger.LogWarning("No token entropy is available in env:TOKEN_ENTROPY, Basic auth is disabled"); return Task.FromResult(AuthenticateResult.Fail("Invalid Authorization Header")); } @@ -43,14 +43,14 @@ public class BasicAuthenticationHandler : AuthenticationHandler<AuthenticationSc var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); if (authHeader.Parameter == null) return Task.FromResult(AuthenticateResult.Fail("Invalid Authorization Header")); var credentialBytes = Convert.FromBase64String(authHeader.Parameter); - var decrypted_string = Encoding.UTF8.GetString(credentialBytes).DecryptWithAes(token_entropy); - var token_is_guid = Guid.TryParse(decrypted_string, out var token_id); + var decryptedString = Encoding.UTF8.GetString(credentialBytes).DecryptWithAes(tokenEntropy); + var tokenIsGuid = Guid.TryParse(decryptedString, out var tokenId); - if (!token_is_guid) { + if (!tokenIsGuid) { return Task.FromResult(AuthenticateResult.Fail("Invalid Authorization Header")); } - var token = _context.AccessTokens.Include(c => c.User).SingleOrDefault(c => c.Id == token_id); + var token = _context.AccessTokens.Include(c => c.User).SingleOrDefault(c => c.Id == tokenId); if (token == default) { return Task.FromResult(AuthenticateResult.Fail("Invalid Authorization Header: Not Found")); } |
