MicrosoftIdentityHttpClientBuilderExtensions Classe

Definição

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).

Aplica-se a

Confira também