MicrosoftIdentityHttpClientBuilderExtensions Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erweiterungsmethoden zum IHttpClientBuilder Hinzufügen MicrosoftIdentityMessageHandler zur HTTP-Clientpipeline mit verschiedenen Konfigurationsoptionen.
public static class MicrosoftIdentityHttpClientBuilderExtensions
type MicrosoftIdentityHttpClientBuilderExtensions = class
Public Module MicrosoftIdentityHttpClientBuilderExtensions
- Vererbung
-
MicrosoftIdentityHttpClientBuilderExtensions
Beispiele
Grundlegende Verwendung mit Inlinekonfiguration:
services.AddHttpClient("MyApiClient", client =>
{
client.BaseAddress = new Uri("https://api.example.com");
})
.AddMicrosoftIdentityMessageHandler(options =>
{
options.Scopes.Add("https://api.example.com/.default");
});
Konfiguration von appsettings.json:
// In appsettings.json:
// {
// "DownstreamApi": {
// "Scopes": ["https://graph.microsoft.com/.default"]
// }
// }
services.AddHttpClient("GraphClient")
.AddMicrosoftIdentityMessageHandler(
configuration.GetSection("DownstreamApi"),
"DownstreamApi");
Parameterlos für die Konfiguration pro Anforderung:
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);
Hinweise
Diese Erweiterungsmethoden bieten eine bequeme Möglichkeit zum Konfigurieren von HttpClient-Instanzen mit automatischer Microsoft Identitätsauthentifizierung mithilfe von MicrosoftIdentityMessageHandler. Der Handler fügt automatisch Autorisierungsheader zu ausgehenden HTTP-Anforderungen basierend auf den konfigurierten Optionen hinzu.
Es werden vier Überladungen bereitgestellt, um verschiedene Konfigurationsszenarien zu unterstützen:
- Parameterlos: Für Szenarien, in denen Optionen pro Anforderung festgelegt werden
- Optionsinstanz: Für die programmgesteuerte Konfiguration mit einem vordefinierten Optionsobjekt
- Aktionsdelegat: Für die Inlinekonfiguration mithilfe eines Konfigurationsdelegats
- IConfiguration: Für die Konfiguration aus appsettings.json oder anderen Konfigurationsquellen
Methoden
| Name | Beschreibung |
|---|---|
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, Action<MicrosoftIdentityMessageHandlerOptions>) |
Fügt der HTTP-Clientpipeline eine MicrosoftIdentityMessageHandler Option hinzu, die über Stellvertretung konfiguriert ist. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, IConfiguration, String) |
Fügt der HTTP-Clientpipeline eine MicrosoftIdentityMessageHandler Verbindung mit optionen hinzu, die von IConfiguration gebunden sind. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder, MicrosoftIdentityMessageHandlerOptions) |
Fügt der MicrosoftIdentityMessageHandler HTTP-Clientpipeline eine mit den angegebenen Optionen hinzu. |
| AddMicrosoftIdentityMessageHandler(IHttpClientBuilder) |
Fügt der MicrosoftIdentityMessageHandler HTTP-Clientpipeline eine Ohne Standardoptionen hinzu. Optionen müssen pro Anforderung mithilfe von WithAuthenticationOptions(HttpRequestMessage, MicrosoftIdentityMessageHandlerOptions). |