using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; namespace zero.Identity; internal class ZeroIdentityModule : ZeroModule { public override void ConfigureServices(IServiceCollection services, IConfiguration configuration) { services.TryAddEnumerable(ServiceDescriptor.Singleton, PostConfigureCookieAuthenticationOptions>()); services.AddZeroIdentity(); services.Replace, ZeroBackofficeClaimsPrincipalFactory>(); services.Replace, RavenCoreUserStore>(ServiceLifetime.Scoped); services.Replace, RavenCoreRoleStore>(ServiceLifetime.Scoped); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddAuthentication(Constants.Auth.BackofficeScheme) .AddZeroBackofficeCookie(); services.AddAuthorization(); } }