MicrosoftIdentityHttpClientBuilderExtensions Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Métodos de extensão para IHttpClientBuilder adicionar MicrosoftIdentityMessageHandler ao pipeline do cliente HTTP com várias opções de configuração.
public static class MicrosoftIdentityHttpClientBuilderExtensions
type MicrosoftIdentityHttpClientBuilderExtensions = class
Public Module MicrosoftIdentityHttpClientBuilderExtensions
- Herança
-
MicrosoftIdentityHttpClientBuilderExtensions
Exemplos
Uso básico com configuração embutida:
services.AddHttpClient("MyApiClient", client =>
{
client.BaseAddress = new Uri("https://api.example.com");
})
.AddMicrosoftIdentityMessageHandler(options =>
{
options.Scopes.Add("https://api.example.com/.default");
});
Configuração de appsettings.json:
// In appsettings.json:
// {
// "DownstreamApi": {
// "Scopes": ["https://graph.microsoft.com/.default"]
// }
// }
services.AddHttpClient("GraphClient")
.AddMicrosoftIdentityMessageHandler(
configuration.GetSection("DownstreamApi"),
"DownstreamApi");
Sem parâmetros para a configuração por solicitação:
services.AddHttpClient("FlexibleClient")
.AddMicrosoftIdentityMessageHandler();
// Later, in a service:
var request = new HttpRequestMessage(HttpMethod.Get, "/api/data")
.WithAuthenticationOptions(options =>
{
options.Scopes.Add("custom.scope");
});
var response = await httpClient.SendAsync(request);
Comentários
Esses métodos de extensão fornecem uma maneira conveniente de configurar instâncias httpclient com autenticação automática de identidade de Microsoft usando MicrosoftIdentityMessageHandler. O manipulador adicionará automaticamente cabeçalhos de autorização a solicitações HTTP de saída com base nas opções configuradas.
Quatro sobrecargas são fornecidas para dar suporte a diferentes cenários de configuração:
- Sem parâmetros: para cenários em que as opções são definidas por solicitação
- Instância de opções: para configuração programática com um objeto de opções predefinido
- Delegado de ação: para configuração embutida usando um delegado de configuração
- IConfiguration: para configuração de appsettings.json ou outras fontes de configuração
Métodos
| Nome | Description |
|---|---|
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, Action<MicrosoftIdentityMessageHandlerOptions>) |
Adiciona um MicrosoftIdentityMessageHandler pipeline de cliente HTTP com opções configuradas por meio de delegado. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, IConfiguration, String) |
Adiciona um MicrosoftIdentityMessageHandler pipeline de cliente HTTP com opções associadas à IConfiguration. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, MicrosoftIdentityMessageHandlerOptions) |
Adiciona um MicrosoftIdentityMessageHandler pipeline de cliente HTTP com as opções especificadas. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder) |
Adiciona um MicrosoftIdentityMessageHandler pipeline de cliente HTTP sem opções padrão. As opções devem ser configuradas por solicitação usando WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions). |