Ejemplo n.º 1
0
        static async Task <ManagedToken> ExecuteClientCredentialsRequestAsync(
            ManagedToken managedToken,
            IServiceProvider serviceProvider,
            IOAuth2CredentialManager oAuth2CredentialManager,
            CancellationToken cancellationToken = default)
        {
            var creds = await oAuth2CredentialManager.GetOAuth2CredentialsAsync(managedToken.CredentialsKey);

            var client   = new HttpClient();
            var response = await client.RequestClientCredentialsTokenAsync(
                new ClientCredentialsTokenRequest
            {
                Address      = creds.DiscoveryDocumentResponse.TokenEndpoint,
                ClientId     = creds.ClientId,
                ClientSecret = creds.ClientSecret,
                Scope        = managedToken.RequestedScope
            },
                cancellationToken);

            if (response.IsError)
            {
                throw new Exception(response.Error);
            }
            managedToken.RefreshToken = response.RefreshToken;
            managedToken.AccessToken  = response.AccessToken;
            managedToken.ExpiresIn    = response.ExpiresIn;
            return(managedToken);
        }
Ejemplo n.º 2
0
 public OAuth2ManagementModel(
     IOAuth2CredentialManager oAuth2CredentialManager,
     ITokenManager <GlobalDistributedCacheTokenStorage> globalTokenManager)
 {
     _oAuth2CredentialManager = oAuth2CredentialManager;
     _globalTokenManager      = globalTokenManager;
 }
Ejemplo n.º 3
0
 public TokenManager(
     IServiceProvider serviceProvider,
     IMemoryCache memoryCache,
     IOAuth2CredentialManager oAuth2CredentialManager,
     T tokenStorage,
     ICustomTokenRequestManager customTokenRequest,
     ILogger <TokenManager <T> > logger)
 {
     _serviceProvider         = serviceProvider;
     _memoryCache             = memoryCache;
     _oAuth2CredentialManager = oAuth2CredentialManager;
     _tokenStorage            = tokenStorage;
     _customTokenRequest      = customTokenRequest;
     _logger = logger;
 }
 public TokenManager(
     IHttpClientFactory clientFactory,
     IServiceProvider serviceProvider,
     IOAuth2CredentialManager oAuth2CredentialManager,
     T tokenStorage,
     ICustomTokenRequestManager customTokenRequest,
     ILogger <TokenManager <T> > logger)
 {
     _clientFactory           = clientFactory;
     _serviceProvider         = serviceProvider;
     _oAuth2CredentialManager = oAuth2CredentialManager;
     _tokenStorage            = tokenStorage;
     _customTokenRequest      = customTokenRequest;
     _logger = logger;
 }