27 ArgumentNullException.ThrowIfNull(authorizationFailure);
29 var messageBuilder =
new StringBuilder(
"The current user is not authorized to access this resource.");
31 foreach (var failureReason
in authorizationFailure.FailureReasons)
33 messageBuilder.AppendLine();
34 messageBuilder.Append(
"\t- ");
35 messageBuilder.Append(failureReason.Message);
38 return new(ErrorBuilder.New()
39 .SetMessage(messageBuilder.ToString())
40 .SetCode(ErrorCodes.Authentication.NotAuthorized)
52 this Security.IAuthorizationService authorizationService,
53 IEnumerable<IAuthorizationRequirement>? authorizationRequirements,
54 bool excludeUserSessionValidRequirement =
false)
56 ArgumentNullException.ThrowIfNull(authorizationService);
57 ArgumentNullException.ThrowIfNull(authorizationRequirements);
59 if (!excludeUserSessionValidRequirement)
62 var result = await authorizationService.AuthorizeAsync(authorizationRequirements);
63 if (!result.Succeeded)
64 throw result.Failure.ForbiddenGraphQLException();