Browse Source

Dispose HttpClient

rel-2.9
Halil İbrahim Kalkan 6 years ago
parent
commit
7f02584315
  1. 51
      framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs

51
framework/src/Volo.Abp.IdentityModel/Volo/Abp/IdentityModel/IdentityModelAuthenticationService.cs

@ -110,39 +110,42 @@ namespace Volo.Abp.IdentityModel
protected virtual async Task<DiscoveryDocumentResponse> GetDiscoveryResponse( protected virtual async Task<DiscoveryDocumentResponse> GetDiscoveryResponse(
IdentityClientConfiguration configuration) IdentityClientConfiguration configuration)
{ {
var httpClient = HttpClientFactory.CreateClient(HttpClientName); using (var httpClient = HttpClientFactory.CreateClient(HttpClientName))
return await httpClient.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest
{ {
Address = configuration.Authority, return await httpClient.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest
Policy =
{ {
RequireHttps = configuration.RequireHttps Address = configuration.Authority,
} Policy =
}); {
RequireHttps = configuration.RequireHttps
}
});
}
} }
protected virtual async Task<TokenResponse> GetTokenResponse( protected virtual async Task<TokenResponse> GetTokenResponse(
DiscoveryDocumentResponse discoveryResponse, DiscoveryDocumentResponse discoveryResponse,
IdentityClientConfiguration configuration) IdentityClientConfiguration configuration)
{ {
var httpClient = HttpClientFactory.CreateClient(HttpClientName); using (var httpClient = HttpClientFactory.CreateClient(HttpClientName))
AddHeaders(httpClient);
switch (configuration.GrantType)
{ {
case OidcConstants.GrantTypes.ClientCredentials: AddHeaders(httpClient);
return await httpClient.RequestClientCredentialsTokenAsync(
await CreateClientCredentialsTokenRequestAsync(discoveryResponse, configuration), switch (configuration.GrantType)
CancellationTokenProvider.Token {
); case OidcConstants.GrantTypes.ClientCredentials:
case OidcConstants.GrantTypes.Password: return await httpClient.RequestClientCredentialsTokenAsync(
return await httpClient.RequestPasswordTokenAsync( await CreateClientCredentialsTokenRequestAsync(discoveryResponse, configuration),
await CreatePasswordTokenRequestAsync(discoveryResponse, configuration), CancellationTokenProvider.Token
CancellationTokenProvider.Token );
); case OidcConstants.GrantTypes.Password:
default: return await httpClient.RequestPasswordTokenAsync(
throw new AbpException("Grant type was not implemented: " + configuration.GrantType); await CreatePasswordTokenRequestAsync(discoveryResponse, configuration),
CancellationTokenProvider.Token
);
default:
throw new AbpException("Grant type was not implemented: " + configuration.GrantType);
}
} }
} }

Loading…
Cancel
Save