public UsersManagementPlugin(UserManagementConfig config = null) { if (config == null) { config = new UserManagementConfig(); } _config = config; }
public static void AddHttpClients( this IServiceCollection services, AuthenticationConfig authConfig, UserManagementConfig userManagementConfig) { services.AddTransient <BaseHttpMessageHandler>(); services.AddHttpClient(HttpClientNames.AUTHENTICATION_CLIENT, c => { c.BaseAddress = new Uri(authConfig.Authority); }).AddHttpMessageHandler <BaseHttpMessageHandler>(); services.AddTransient <IServiceAuthenticator, ServiceToServiceAuthenticator>(); var serviceProvider = services.BuildServiceProvider(); var serviceAuth = serviceProvider.GetRequiredService <IServiceAuthenticator>(); services.AddTransient <UserManagerErrorResponseHandler>(); services.AddHttpClient(HttpClientNames.USER_MANAGEMENT_CLIENT, async http => { var token = await serviceAuth.AuthenticateAsync(); http.BaseAddress = new Uri(userManagementConfig.BaseUrl); http.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); }) .AddHttpMessageHandler <UserManagerErrorResponseHandler>(); }
public ServiceToServiceAuthenticator(IHttpClientFactory factory, UserManagementConfig config, IDistributedCache cache) { client = factory.CreateClient(HttpClientNames.AUTHENTICATION_CLIENT); this.config = config; this.cache = cache; }
public UserRepository(IHttpClientFactory httpFactory, UserManagementConfig config) { http = httpFactory.CreateClient(HttpClientNames.USER_MANAGEMENT_CLIENT); this.config = config; }