public static void AddGraphQlAuth(this IServiceCollection services) { services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); services.AddSingleton <IAuthorizationEvaluator, AuthorizationEvaluator>(); services.AddTransient <AuthorizationValidationRule>(); services.AddSingleton(s => { var authSettings = new AuthorizationSettings(); authSettings.AddPolicy(AuthorizationConstants.GraphQlAdminPolicy, _ => _.RequireClaim(ClaimTypes.Role, AuthorizationConstants.AdminRole)); return(authSettings); }); services.AddSingleton <IEnumerable <IValidationRule> >(s => { List <IValidationRule> validationRules = DocumentValidator.CoreRules(); AuthorizationValidationRule authorizationRule = s.GetRequiredService <AuthorizationValidationRule>(); validationRules.Add(authorizationRule); return(validationRules); }); }
public ValidationTestBase() { Settings = new AuthorizationSettings(); Rule = new AuthorizationValidationRule(new AuthorizationEvaluator(Settings), new DefaultContextAccessor()); }
public ValidationTestBase() { Settings = new AuthorizationSettings(); Rule = new AuthorizationValidationRule(new AuthorizationEvaluator(Settings)); }
protected void ConfigureAuthorizationOptions(Action <AuthorizationOptions> setupOptions) { var(authorizationService, httpContextAccessor) = BuildServices(setupOptions); HttpContext = httpContextAccessor.HttpContext; Rule = new AuthorizationValidationRule(authorizationService, httpContextAccessor); }
protected void ConfigureAuthorizationOptions(Action <AuthorizationOptions> setupOptions) { var(authorizationService, httpContextAccessor) = BuildServices(setupOptions); HttpContext = httpContextAccessor.HttpContext; Rule = new AuthorizationValidationRule(authorizationService, new DefaultClaimsPrincipalAccessor(httpContextAccessor), new DefaultAuthorizationErrorMessageBuilder()); }