More admin API fun

This commit is contained in:
Emma [it/its]@Rory&
2025-10-05 21:34:42 +02:00
parent e1483e9f90
commit e645833042
5 changed files with 105 additions and 6 deletions
@@ -13,7 +13,8 @@ public class AuthenticationMiddleware(RequestDelegate next) {
private static Dictionary<string, DateTime> _userCacheExpiry = new();
public async Task InvokeAsync(HttpContext context, IServiceProvider sp) {
if (context.Request.Path.StartsWithSegments("/ping")) {
var config = sp.GetRequiredService<Configuration>();
if (context.Request.Path.StartsWithSegments("/ping") || config.DisableAuthentication) {
await next(context);
return;
}
@@ -55,7 +56,6 @@ public class AuthenticationMiddleware(RequestDelegate next) {
if (!_userCache.ContainsKey(token)) {
var db = sp.GetRequiredService<SpacebarDbContext>();
var config = sp.GetRequiredService<Configuration>();
user = await db.Users.FindAsync(config.OverrideUid ?? res.ClaimsIdentity.Claims.First(x => x.Type == "id").Value)
?? throw new InvalidOperationException();
_userCache[token] = user;