Compare commits
	
		
			2 Commits
		
	
	
		
			917e2d5393
			...
			5d13f08d47
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5d13f08d47 | |||
| 07ba148d9b | 
| @@ -32,7 +32,7 @@ public class AuthController( | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     [HttpPost("challenge")] |     [HttpPost("challenge")] | ||||||
|     public async Task<ActionResult<AuthChallenge>> StartChallenge([FromBody] ChallengeRequest request) |     public async Task<ActionResult<AuthChallenge>> CreateChallenge([FromBody] ChallengeRequest request) | ||||||
|     { |     { | ||||||
|         var account = await accounts.LookupAccount(request.Account); |         var account = await accounts.LookupAccount(request.Account); | ||||||
|         if (account is null) return NotFound("Account was not found."); |         if (account is null) return NotFound("Account was not found."); | ||||||
| @@ -50,6 +50,8 @@ public class AuthController( | |||||||
|  |  | ||||||
|         request.DeviceName ??= userAgent; |         request.DeviceName ??= userAgent; | ||||||
|  |  | ||||||
|  |         var device = await auth.GetOrCreateDeviceAsync(account.Id, request.DeviceId, request.DeviceName, request.Platform); | ||||||
|  |  | ||||||
|         // Trying to pick up challenges from the same IP address and user agent |         // Trying to pick up challenges from the same IP address and user agent | ||||||
|         var existingChallenge = await db.AuthChallenges |         var existingChallenge = await db.AuthChallenges | ||||||
|             .Where(e => e.AccountId == account.Id) |             .Where(e => e.AccountId == account.Id) | ||||||
| @@ -57,10 +59,15 @@ public class AuthController( | |||||||
|             .Where(e => e.UserAgent == userAgent) |             .Where(e => e.UserAgent == userAgent) | ||||||
|             .Where(e => e.StepRemain > 0) |             .Where(e => e.StepRemain > 0) | ||||||
|             .Where(e => e.ExpiredAt != null && now < e.ExpiredAt) |             .Where(e => e.ExpiredAt != null && now < e.ExpiredAt) | ||||||
|  |             .Where(e => e.Type == ChallengeType.Login) | ||||||
|  |             .Where(e => e.ClientId == device.Id) | ||||||
|             .FirstOrDefaultAsync(); |             .FirstOrDefaultAsync(); | ||||||
|         if (existingChallenge is not null) return existingChallenge; |         if (existingChallenge is not null) | ||||||
|  |         { | ||||||
|  |             var existingSession = await db.AuthSessions.Where(e => e.ChallengeId == existingChallenge.Id).FirstOrDefaultAsync(); | ||||||
|  |             if (existingSession is null) return existingChallenge; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         var device = await auth.GetOrCreateDeviceAsync(account.Id, request.DeviceId, request.DeviceName, request.Platform); |  | ||||||
|         var challenge = new AuthChallenge |         var challenge = new AuthChallenge | ||||||
|         { |         { | ||||||
|             ExpiredAt = Instant.FromDateTimeUtc(DateTime.UtcNow.AddHours(1)), |             ExpiredAt = Instant.FromDateTimeUtc(DateTime.UtcNow.AddHours(1)), | ||||||
|   | |||||||
| @@ -142,6 +142,7 @@ public class PostController( | |||||||
|         var post = await db.Posts |         var post = await db.Posts | ||||||
|             .Include(e => e.Publisher) |             .Include(e => e.Publisher) | ||||||
|             .Where(e => e.Slug == slug && e.Publisher.Name == publisherName) |             .Where(e => e.Slug == slug && e.Publisher.Name == publisherName) | ||||||
|  |             .Include(e => e.Realm) | ||||||
|             .Include(e => e.Tags) |             .Include(e => e.Tags) | ||||||
|             .Include(e => e.Categories) |             .Include(e => e.Categories) | ||||||
|             .Include(e => e.RepliedPost) |             .Include(e => e.RepliedPost) | ||||||
| @@ -175,6 +176,7 @@ public class PostController( | |||||||
|         var post = await db.Posts |         var post = await db.Posts | ||||||
|             .Where(e => e.Id == id) |             .Where(e => e.Id == id) | ||||||
|             .Include(e => e.Publisher) |             .Include(e => e.Publisher) | ||||||
|  |             .Include(e => e.Realm) | ||||||
|             .Include(e => e.Tags) |             .Include(e => e.Tags) | ||||||
|             .Include(e => e.Categories) |             .Include(e => e.Categories) | ||||||
|             .Include(e => e.RepliedPost) |             .Include(e => e.RepliedPost) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user