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