Exemplo n.º 1
0
        public AuthorizationServiceHttpClient(
            AuthServiceCommunicationConfiguration interServiceCommunicationConfiguration,
            AuthServiceControllerBasePathsProvider basePathsProvider,
            IAuthorizationServiceClientLocalization localization,
            ILogger logger,
            AuthApiAccessTokenProvider authApiAccessTokenProvider
            ) : base(interServiceCommunicationConfiguration.AuthenticationServiceAddress, logger)
        {
            m_basePathsProvider          = basePathsProvider;
            m_localization               = localization;
            m_authApiAccessTokenProvider = authApiAccessTokenProvider;

            DefaultRequestHeaders.Add(interServiceCommunicationConfiguration.TokenName ?? ApiAccessTokenHeader,
                                      interServiceCommunicationConfiguration.ApiAccessToken);
        }
Exemplo n.º 2
0
        public static void RegisterAuthorizationHttpClientComponents <TClientLocalization>(this IServiceCollection services,
                                                                                           AuthServiceCommunicationConfiguration configuration           = null,
                                                                                           OpenIdConnectConfig openIdConfiguration                       = null,
                                                                                           AuthServiceControllerBasePathsConfiguration pathConfiguration = null)
            where TClientLocalization : class, IAuthorizationServiceClientLocalization
        {
            services.AddSingleton <IAuthorizationServiceClientLocalization, TClientLocalization>();

            services.AddSingleton <AuthorizationServiceHttpClient>();

            services.AddSingleton <AuthServiceControllerBasePathsProvider>();

            services.AddScoped <RegistrationApiClient>();
            services.AddScoped <ExternalIdentityProviderApiClient>();
            services.AddScoped <FileResourceApiClient>();
            services.AddScoped <NonceApiClient>();
            services.AddScoped <UserApiClient>();
            services.AddScoped <RoleApiClient>();
            services.AddScoped <PermissionApiClient>();
            services.AddScoped <ContactApiClient>();
            services.TryAddScoped <IDateTimeProvider, DateTimeProvider>();
            services.TryAddSingleton <AuthApiAccessTokenProvider>();

            services.TryAddSingleton <ITokenStorage, InMemoryTokenStorage>();

            services.TryAddTransient <ITokenEndpointClient, TokenEndpointClient>();
            services.TryAddSingleton <TokenEndpointHttpClientProvider>();
            services.TryAddSingleton <Func <ITokenEndpointClient> >(provider =>
                                                                    provider.GetRequiredService <ITokenEndpointClient>);

            if (configuration != null)
            {
                services.AddSingleton(configuration);
            }

            if (openIdConfiguration != null)
            {
                services.AddSingleton(openIdConfiguration);
            }

            if (pathConfiguration != null)
            {
                services.AddSingleton(pathConfiguration);
            }
        }