fix requirement handlers

This commit is contained in:
rootdarkarchon
2023-10-17 22:11:03 +02:00
parent f93fd35787
commit 674c92f6b6

View File

@@ -9,13 +9,13 @@ public class ValidTokenRequirementHandler : AuthorizationHandler<ValidTokenRequi
{ {
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidTokenRequirement requirement) protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidTokenRequirement requirement)
{ {
var expirationClaimValue = context.User.Claims.Single(r => string.Equals(r.Type, MareClaimTypes.Expires, StringComparison.Ordinal))?.Value; var expirationClaimValue = context.User.Claims.SingleOrDefault(r => string.Equals(r.Type, MareClaimTypes.Expires, StringComparison.Ordinal));
if (expirationClaimValue == null) if (expirationClaimValue == null)
{ {
context.Fail(); context.Fail();
} }
DateTime expirationDate = new(long.Parse(expirationClaimValue, CultureInfo.InvariantCulture), DateTimeKind.Utc); DateTime expirationDate = new(long.Parse(expirationClaimValue.Value, CultureInfo.InvariantCulture), DateTimeKind.Utc);
if (expirationDate < DateTime.UtcNow) if (expirationDate < DateTime.UtcNow)
{ {
context.Fail(); context.Fail();
@@ -31,13 +31,13 @@ public class ValidTokenHubRequirementHandler : AuthorizationHandler<ValidTokenRe
{ {
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidTokenRequirement requirement, HubInvocationContext resource) protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ValidTokenRequirement requirement, HubInvocationContext resource)
{ {
var expirationClaimValue = context.User.Claims.Single(r => string.Equals(r.Type, MareClaimTypes.Expires, StringComparison.Ordinal))?.Value; var expirationClaimValue = context.User.Claims.SingleOrDefault(r => string.Equals(r.Type, MareClaimTypes.Expires, StringComparison.Ordinal));
if (expirationClaimValue == null) if (expirationClaimValue == null)
{ {
context.Fail(); context.Fail();
} }
DateTime expirationDate = new(long.Parse(expirationClaimValue, CultureInfo.InvariantCulture), DateTimeKind.Utc); DateTime expirationDate = new(long.Parse(expirationClaimValue.Value, CultureInfo.InvariantCulture), DateTimeKind.Utc);
if (expirationDate < DateTime.UtcNow) if (expirationDate < DateTime.UtcNow)
{ {
context.Fail(); context.Fail();