public static IPolicyClientBuilder AddRequiredPlatformServices(this IPolicyClientBuilder builder) { builder.Services.AddOptions(); builder.Services.AddSingleton(p => p.GetRequiredService <IOptions <PolicyClientOptions> >().Value); return(builder); }
public static IPolicyClientBuilder AddAuthorizationPermissionPolicies(this IPolicyClientBuilder builder) { builder.Services.AddAuthorization(); builder.Services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>(); builder.Services.AddTransient <IAuthorizationPolicyProvider, DefaultPolicyServerAuthorizationPolicyProvider>(); builder.Services.AddTransient <IAuthorizationHandler, DefaultPolicyServerPermissionHandler>(); return(builder); }
public static IPolicyClientBuilder AddPolicyClient(this IServiceCollection services) { IPolicyClientBuilder builder = services.AddPolicyClientBuilder(); builder .AddRequiredPlatformServices() .AddAuthorizationPermissionPolicies(); return(builder); }
public static IPolicyClientBuilder AddLocalServices(this IPolicyClientBuilder builder, Action <LocalServiceOption> optionsAction) { LocalServiceOption options = new LocalServiceOption(); builder.Services.AddSingleton(options); optionsAction?.Invoke(options); builder.Services.AddTransient <IPolicyClientService, DefaultPolicyLocalService>(); return(builder); }
public static IPolicyClientBuilder AddClientServices(this IPolicyClientBuilder builder) { builder.Services.AddTransient <IPolicyClientService, DefaultPolicyClientService>(); return(builder); }