MicrosoftIdentityHttpClientBuilderExtensions Classe

Definição

Métodos de extensão para IHttpClientBuilder adicionar MicrosoftIdentityMessageHandler ao pipeline 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 em linha:

services.AddHttpClient("MyApiClient", client =>
{
    client.BaseAddress = new Uri("https://api.example.com");
})
.AddMicrosoftIdentityMessageHandler(options =>
{
    options.Scopes.Add("https://api.example.com/.default");
});

Configuração do appsettings.json:

// In appsettings.json:
// {
//   "DownstreamApi": {
//     "Scopes": ["https://graph.microsoft.com/.default"]
//   }
// }

services.AddHttpClient("GraphClient")
    .AddMicrosoftIdentityMessageHandler(
        configuration.GetSection("DownstreamApi"),
        "DownstreamApi");

Sem parâmetros para configuração por pedido:

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

Observações

Estes métodos de extensão proporcionam uma forma conveniente de configurar instâncias HttpClient com autenticação automática do Microsoft Identity usando MicrosoftIdentityMessageHandler. O handler adiciona automaticamente cabeçalhos de autorização aos pedidos HTTP de saída com base nas opções configuradas.

São fornecidas quatro sobrecargas para suportar diferentes cenários de configuração:

  • Sem parâmetros: Para cenários onde as opções são definidas por pedido
  • Instância de opções: Para configuração programática com um objeto de opções pré-construído
  • Delegado de ação: Para configuração em linha usando um delegado de configuração
  • IConfiguration: Para configuração a partir de appsettings.json ou outras fontes de configuração

Métodos

Name Descrição
AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, Action<MicrosoftIdentityMessageHandlerOptions>)

Adiciona a MicrosoftIdentityMessageHandler ao pipeline do cliente HTTP com opções configuradas via delegate.

AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, IConfiguration, String)

Adiciona a MicrosoftIdentityMessageHandler ao pipeline do cliente HTTP com opções vinculadas a partir do IConfiguration.

AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, MicrosoftIdentityMessageHandlerOptions)

Adiciona a MicrosoftIdentityMessageHandler ao pipeline do cliente HTTP com as opções especificadas.

AddMicrosoftIdentityMessageHandler(IHttpClientBuilder)

Adiciona a MicrosoftIdentityMessageHandler ao pipeline do cliente HTTP sem opções predefinidas. As opções devem ser configuradas por pedido usando WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions).

Aplica-se a

Ver também