MicrosoftIdentityHttpClientBuilderExtensions Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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). |