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)
53 this Security.IAuthorizationService authorizationService,
54 IEnumerable<IAuthorizationRequirement>? authorizationRequirements,
56 bool excludeUserSessionValidRequirement =
false)
58 ArgumentNullException.ThrowIfNull(authorizationService);
59 ArgumentNullException.ThrowIfNull(authorizationRequirements);
61 if (!excludeUserSessionValidRequirement)
64 var result = await authorizationService.AuthorizeAsync(authorizationRequirements, instanceId);
65 if (!result.Succeeded)
66 throw result.Failure.ForbiddenGraphQLException();