Lingua

DownstreamApiOptions Classe

Definizione

Opzioni passate per chiamare le API Web downstream.

public class DownstreamApiOptions : Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions
type DownstreamApiOptions = class
    inherit AuthorizationHeaderProviderOptions
Public Class DownstreamApiOptions
Inherits AuthorizationHeaderProviderOptions
Ereditarietà
Derivato

Esempio

Di seguito è riportato un esempio di configurazione di un'API downstream che recupererebbe il profilo utente (illustrato con Microsoft Graph perché si tratta di un'API nota, ma naturalmente per chiamare in modo efficace Microsoft graph, piuttosto usare Microsoft. 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'"
        }
    }
  ]

Di seguito viene descritta un'API Web downstream denominata per conto dell'applicazione stessa (token applicazione) e viene usato il protocollo Pop:

 "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"
        }
    }
  ]

Costruttori

Nome Descrizione
DownstreamApiOptions()

Costruttore predefinito.

DownstreamApiOptions(DownstreamApiOptions)

Costruttore di copia.

Proprietà

Nome Descrizione
AcceptHeader

L'intestazione HTTP Accept viene usata per informare il server sul tipo di contenuto previsto dal client nella risposta.

AcquireTokenOptions

Opzioni correlate all'acquisizione di token.

(Ereditato da AuthorizationHeaderProviderOptions)
BaseUrl

URL di base per l'API Web downstream chiamata. Ad esempio "https://graph.microsoft.com/beta/".

(Ereditato da AuthorizationHeaderProviderOptions)
ContentType

Tipo di contenuto del corpo della richiesta.

CustomizeHttpRequestMessage

Offre un'opportunità per l'app chiamante di personalizzare HttpRequestMessage. Ad esempio, per personalizzare le intestazioni. Viene chiamato dopo il formato del messaggio, inclusa l'intestazione Authorization e subito prima dell'invio del messaggio.

(Ereditato da AuthorizationHeaderProviderOptions)
Deserializer

De-serializzatore facoltativo. De-serializzerà l'output dall'API Web (se presente). Se non specificato, viene restituito quanto segue: JsonSerializer.Deserialize<TOutput>(content, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });

ExtraHeaderParameters

Imposta intestazioni aggiuntive nella richiesta HTTP per l'API Web downstream. Questo non deve essere confuso con un'altra opzione per impostare le intestazioni nella richiesta sul provider di identità. Vedere ExtraHeadersParameters per questo scenario.

ExtraQueryParameters

Imposta i parametri di query per la stringa di query nella richiesta HTTP all'API Web downstream. Questa operazione non deve essere confusa con un'altra opzione per impostare i parametri di query nella richiesta al provider di identità. Vedere ExtraQueryParameters per questo scenario.

HttpMethod

Metodo HTTP usato per chiamare questa API Web downstream (per impostazione predefinita Get).

(Ereditato da AuthorizationHeaderProviderOptions)
OnAfterAuthHeaderCreation

Offre all'app chiamante l'opportunità di personalizzare HttpRequestMessagedopo l'impostazione dell'intestazione di autorizzazione (inclusa l'intestazione Authorization ) e subito prima dell'invio del messaggio, ovvero il punto in cui la richiesta finalizzata può essere letta o modificata. Fornito per la simmetria di denominazione con OnBeforeAuthHeaderCreation; condivide questo intervallo con l'oggetto preesistente CustomizeHttpRequestMessage, che continua a essere richiamato per la compatibilità con le versioni precedenti. Quando entrambi vengono impostati vengono eseguiti nello stesso punto, quindi i chiamanti non devono dipendere dall'ordine relativo. Non modificare il materiale associato da un protocollo di associazione richiesta (SHRq//hb) in questo caso, perché viene eseguito dopo la firma; usare OnBeforeAuthHeaderCreation per tale oggetto.

(Ereditato da AuthorizationHeaderProviderOptions)
OnBeforeAuthHeaderCreation

Consente all'app chiamante di personalizzare primaHttpRequestMessage che venga creata l'intestazione dell'autorizzazione. A questo punto l'intestazione Authorization non è ancora presente. Usare questa opzione per modellare la richiesta firmata da un protocollo di associazione di richiesta, ad esempio un oggetto SignedHttpRequest (SHR) che associa la query, le intestazioni o il corpo (le q//hb attestazioni) al token, quindi la firma copre la richiesta finalizzata. Per osservare o modificare la richiesta dopo la creazione dell'intestazione, usare OnAfterAuthHeaderCreation (o CustomizeHttpRequestMessage).

(Ereditato da AuthorizationHeaderProviderOptions)
ProtocolScheme

Nome dello schema di protocollo usato per creare l'intestazione dell'autorizzazione. Per impostazione predefinita: "Bearer".

(Ereditato da AuthorizationHeaderProviderOptions)
RelativePath

Percorso relativo all'oggetto BaseUrl (ad esempio "me").

(Ereditato da AuthorizationHeaderProviderOptions)
RequestAppToken

Descrive se l'API downstream viene chiamata per conto del servizio chiamante stesso (token dell'app) o per conto di un utente elaborato dal servizio (token utente). Se true, il token viene richiesto per conto dell'app. In caso contrario, per conto dell'utente.

(Ereditato da AuthorizationHeaderProviderOptions)
Scopes

Ambiti necessari per chiamare l'API Web downstream. Ad esempio "user.read mail.read". Per Microsoft identità, nel caso di token dell'applicazione (token richiesto dall'app per conto di se stesso), deve essere presente un solo ambito e deve terminare in "./default")

Serializer

Serializzatore facoltativo. Serializzerà l'input per l'API Web (se presente). Per impostazione predefinita, se non specificato:

  • Se l'input deriva da HttpInput, viene usato così come è
  • Se l'input è una stringa usata come è un file json di tipo multimediale.
  • In caso contrario, l'oggetto viene serializzato in JSON, con una codifica UTF8 e un tipo di supporto di application/json:
    new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, "application/json")
    

Metodi

Nome Descrizione
Clone()

Clonare le opzioni (per poter eseguirne l'override).

CloneInternal()

Clonare le opzioni (per poter eseguirne l'override).

GetApiUrl()

Restituisce l'URL dell'API Web downstream.

(Ereditato da AuthorizationHeaderProviderOptions)

Si applica a