protected virtual Task AddParametersToRequestAsync(IdentityClientConfiguration configuration, ProtocolRequest request) { foreach (var pair in configuration.Where(p => p.Key.StartsWith("[o]", StringComparison.OrdinalIgnoreCase))) { request.Parameters[pair.Key] = pair.Value; } return(Task.CompletedTask); }
protected virtual async Task <DiscoveryDocumentResponse> GetDiscoveryResponse( IdentityClientConfiguration configuration) { using (var httpClient = HttpClientFactory.CreateClient(HttpClientName)) { var request = new DiscoveryDocumentRequest { Address = configuration.Authority, Policy = { RequireHttps = configuration.RequireHttps } }; IdentityModelHttpRequestMessageOptions.ConfigureHttpRequestMessage?.Invoke(request); return(await httpClient.GetDiscoveryDocumentAsync(request)); } }
protected virtual Task <ClientCredentialsTokenRequest> CreateClientCredentialsTokenRequestAsync( DiscoveryDocumentResponse discoveryResponse, IdentityClientConfiguration configuration) { var request = new ClientCredentialsTokenRequest { Address = discoveryResponse.TokenEndpoint, Scope = configuration.Scope, ClientId = configuration.ClientId, ClientSecret = configuration.ClientSecret }; IdentityModelHttpRequestMessageOptions.ConfigureHttpRequestMessage?.Invoke(request); AddParametersToRequestAsync(configuration, request); return(Task.FromResult(request)); }