refactor: add DatabaseContext.GetToken method
This commit is contained in:
parent
be34c4c77e
commit
2682cabfb0
6 changed files with 51 additions and 35 deletions
|
@ -20,18 +20,13 @@ public class AuthenticationMiddleware(DatabaseContext db, IClock clock) : IMiddl
|
|||
return;
|
||||
}
|
||||
|
||||
var header = ctx.Request.Headers.Authorization.ToString();
|
||||
if (!AuthUtils.TryFromBase64String(header, out var rawToken))
|
||||
if (!AuthUtils.TryParseToken(ctx.Request.Headers.Authorization.ToString(), out var rawToken))
|
||||
{
|
||||
await next(ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
var hash = SHA512.HashData(rawToken);
|
||||
var oauthToken = await db.Tokens
|
||||
.Include(t => t.Application)
|
||||
.Include(t => t.User)
|
||||
.FirstOrDefaultAsync(t => t.Hash == hash && t.ExpiresAt > clock.GetCurrentInstant() && !t.ManuallyExpired);
|
||||
var oauthToken = await db.GetToken(rawToken);
|
||||
if (oauthToken == null)
|
||||
{
|
||||
await next(ctx);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue