Idioma

DownstreamApiOptions Classe

Definição

Opções passadas para chamar APIs Web downstream.

public class DownstreamApiOptions : Microsoft.Identity.Abstractions.AuthorizationHeaderProviderOptions
type DownstreamApiOptions = class
    inherit AuthorizationHeaderProviderOptions
Public Class DownstreamApiOptions
Inherits AuthorizationHeaderProviderOptions
Herança
Derivado

Exemplos

Aqui está um exemplo de uma configuração de uma API downstream que recuperaria o perfil do usuário (ele é ilustrado com Microsoft Graph, pois esta é uma API conhecida, mas, claro, para chamar efetivamente Microsoft graph, em vez de usar 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'"
        }
    }
  ]

O seguinte descreve uma API Web downstream chamada em nome do próprio aplicativo (token de aplicativo) e usando o protocolo 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"
        }
    }
  ]

Construtores

Nome Description
DownstreamApiOptions()

Construtor padrão.

DownstreamApiOptions(DownstreamApiOptions)

Construtor de cópia.

Propriedades

Nome Description
AcceptHeader

O cabeçalho HTTP Accept é usado para informar esse servidor sobre o tipo de conteúdo que o cliente está esperando na resposta.

AcquireTokenOptions

Opções relacionadas à aquisição de token.

(Herdado de AuthorizationHeaderProviderOptions)
BaseUrl

URL base para a chamada API Web downstream. Por exemplo "https://graph.microsoft.com/beta/".

(Herdado de AuthorizationHeaderProviderOptions)
ContentType

Tipo de conteúdo do corpo da solicitação.

CustomizeHttpRequestMessage

Oferece uma oportunidade para o aplicativo chamador personalizar o HttpRequestMessage. Por exemplo, para personalizar os cabeçalhos. Isso é chamado depois que a mensagem foi formada, incluindo o cabeçalho autorização e pouco antes de a mensagem ser enviada.

(Herdado de AuthorizationHeaderProviderOptions)
Deserializer

Des serializador opcional. Des serializará a saída da API Web (se houver). Quando não fornecido, o seguinte é retornado: JsonSerializer.Deserialize<TOutput>(content, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });

ExtraHeaderParameters

Define cabeçalhos extras na solicitação HTTP para a API Web downstream. Isso não deve ser confundido com outra opção para definir os cabeçalhos na solicitação para o Provedor de Identidade. Consulte ExtraHeadersParameters esse cenário.

ExtraQueryParameters

Define parâmetros de consulta para a cadeia de caracteres de consulta na solicitação HTTP para a API Web downstream. Isso não deve ser confundido com outra opção para definir os parâmetros de consulta na solicitação para o Provedor de Identidade. Consulte ExtraQueryParameters esse cenário.

HttpMethod

Método HTTP usado para chamar essa API Web downstream (por padrão Get).

(Herdado de AuthorizationHeaderProviderOptions)
ProtocolScheme

Nome do esquema de protocolo usado para criar o cabeçalho de autorização. Por padrão: "Portador".

(Herdado de AuthorizationHeaderProviderOptions)
RelativePath

Caminho relativo ao BaseUrl (por exemplo, "me").

(Herdado de AuthorizationHeaderProviderOptions)
RequestAppToken

Descreve se a API downstream é chamada em nome do próprio serviço de chamada (token de aplicativo) ou em nome de um usuário processado pelo serviço (token de usuário). Se true, o token é solicitado em nome do aplicativo. Caso contrário, ele será em nome do usuário.

(Herdado de AuthorizationHeaderProviderOptions)
Scopes

Escopos necessários para chamar a API Web downstream. Por exemplo, "user.read mail.read". Para Microsoft identidade, no caso de tokens de aplicativo (token solicitado pelo aplicativo em nome de si mesmo), deve haver apenas um escopo e deve terminar em "./default")

Serializer

Serializador opcional. Serializará a entrada para a API Web (se houver). Por padrão, quando não for fornecido:

  • Se a entrada derivar de HttpInput, ela será usada como está
  • Se a entrada for uma cadeia de caracteres, ela será usada como um json de tipo de mídia considerado.
  • Caso contrário, o objeto será serializado em JSON, com uma codificação UTF8 e um tipo de mídia de application/json:
    new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, "application/json")
    

Métodos

Nome Description
Clone()

Clone as opções (para poder substituí-las).

CloneInternal()

Clone as opções (para poder substituí-las).

GetApiUrl()

Retorne a URL da API Web downstream.

(Herdado de AuthorizationHeaderProviderOptions)

Aplica-se a