DownstreamApiOptions Klasse

Definition

Optionen, die übergeben werden, um nachgeschaltete Web-APIs aufzurufen.

public class DownstreamApiOptions : Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions
type DownstreamApiOptions = class
    inherit AuthorizationHeaderProviderOptions
Public Class DownstreamApiOptions
Inherits AuthorizationHeaderProviderOptions
Vererbung
Abgeleitet

Beispiele

Hier ist ein Beispiel für eine Konfiguration einer nachgeschalteten API, die das Benutzerprofil abrufen würde (es wird mit Microsoft Graph veranschaulicht, da dies eine bekannte API ist, aber natürlich, um Microsoft graph effektiv aufzurufen, anstatt Microsoft zu verwenden. Identity.Web.MicrosoftGraph)

 "DownstreamApis": [
    "MyProfile": {
       "BaseUrl": "https://graph.microsoft.com/v1.0",
       "RelativePath": "/me/profile",
        "Scopes": [ "user.read"],
        "ExtraHeaderParameters": {
          "OData-Version": "4.0"
        },
        "ExtraQueryParameters": {
          "filter": "displayName eq 'John'"
        }
    }
  ]

Im Folgenden wird eine nachgeschaltete Web-API beschrieben, die im Auftrag der Anwendung selbst (Anwendungstoken) aufgerufen wird und das Pop-Protokoll verwendet:

 "DownstreamApis": [
    "AllBooks": {
       "BaseUrl": "https://mylibrary.com",
       "RelativePath": "/books/all",
       "RequestAppToken": true,
       "ProtocolScheme": "Pop",
        "Scopes": ["https://mylibrary.com/.default"],
        "ExtraHeaderParameters": {
          "X-API-Version": "v2"
        },
        "ExtraQueryParameters": {
          "format": "json"
        }
    }
  ]

Konstruktoren

Name Beschreibung
DownstreamApiOptions()

Der Standardkonstruktor.

DownstreamApiOptions(DownstreamApiOptions)

Kopieren Sie den Konstruktor.

Eigenschaften

Name Beschreibung
AcceptHeader

Der HTTP Accept-Header wird verwendet, um den Server über den Inhaltstyp zu informieren, den der Client in der Antwort erwartet.

AcquireTokenOptions

Optionen im Zusammenhang mit der Tokenakquise.

(Geerbt von AuthorizationHeaderProviderOptions)
BaseUrl

Basis-URL für die aufgerufene downstream-Web-API. Beispiel "https://graph.microsoft.com/beta/": .

(Geerbt von AuthorizationHeaderProviderOptions)
ContentType

Inhaltstyp des Anforderungstexts.

CustomizeHttpRequestMessage

Bietet eine Möglichkeit für die Aufrufer-App, die HttpRequestMessage anzupassen. Um beispielsweise die Kopfzeilen anzupassen. Dies wird aufgerufen, nachdem die Nachricht gebildet wurde, einschließlich des Autorisierungsheaders und unmittelbar vor dem Senden der Nachricht.

(Geerbt von AuthorizationHeaderProviderOptions)
Deserializer

Optionaler De serialisierer. Die Ausgabe wird von der Web-API (sofern vorhanden) de serialisiert. Wenn nicht angegeben, wird Folgendes zurückgegeben: JsonSerializer.Deserialize<TOutput>(content, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });

ExtraHeaderParameters

Legt zusätzliche Header in der HTTP-Anforderung auf die downstream-Web-API fest. Dies sollte nicht mit einer anderen Option verwechselt werden, um die Header in der Anforderung auf den Identitätsanbieter festzulegen. Weitere Informationen finden Sie ExtraHeadersParameters in diesem Szenario.

ExtraQueryParameters

Legt Abfrageparameter für die Abfragezeichenfolge in der HTTP-Anforderung auf die downstream-Web-API fest. Dies sollte nicht mit einer anderen Option verwechselt werden, um die Abfrageparameter in der Anforderung auf den Identitätsanbieter festzulegen. Weitere Informationen finden Sie ExtraQueryParameters in diesem Szenario.

HttpMethod

HTTP-Methode zum Aufrufen dieser nachgeschalteten Web-API (standardmäßig Get).

(Geerbt von AuthorizationHeaderProviderOptions)
ProtocolScheme

Name des Protokollschemas, das zum Erstellen des Autorisierungsheaders verwendet wird. Standardmäßig: "Bearer".

(Geerbt von AuthorizationHeaderProviderOptions)
RelativePath

Pfad relativ zum BaseUrl (z. B. "ich").

(Geerbt von AuthorizationHeaderProviderOptions)
RequestAppToken

Beschreibt, ob die downstream-API im Auftrag des aufrufenden Diensts selbst (App-Token) oder im Auftrag eines Benutzers aufgerufen wird, der vom Dienst verarbeitet wird (Benutzertoken). Wenn truedas Token im Auftrag der App angefordert wird. Andernfalls wird sie im Auftrag des Benutzers ausgeführt.

(Geerbt von AuthorizationHeaderProviderOptions)
Scopes

Bereiche, die zum Aufrufen der downstream-Web-API erforderlich sind. Beispiel: "user.read mail.read". Bei Microsoft Identität sollte im Falle von Anwendungstoken (von der App im Auftrag von sich angefordertes Token) nur ein Bereich vorhanden sein, und er sollte auf "./default" enden.

Serializer

Optionaler Serialisierer. Serialisieren Sie die Eingabe in die Web-API (falls vorhanden). Standardmäßig, wenn nicht angegeben:

  • Wenn die Eingabe von HttpInput
  • Wenn es sich bei der Eingabe um eine Zeichenfolge handelt, wird sie als "media type json" betrachtet.
  • Andernfalls wird das Objekt in JSON serialisiert, mit einer UTF8-Codierung und einem Medientyp von Anwendung/json:
    new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, "application/json")
    

Methoden

Name Beschreibung
Clone()

Klonen Sie die Optionen (um sie außer Kraft zu setzen).

CloneInternal()

Klonen Sie die Optionen (um sie außer Kraft zu setzen).

GetApiUrl()

Gibt die nachgeschaltete Web-API-URL zurück.

(Geerbt von AuthorizationHeaderProviderOptions)

Gilt für: