Partilhar via


Definir um perfil técnico OAuth1 em uma política personalizada do Azure Ative Directory B2C

Nota

No Azure Ative Directory B2C, as políticas personalizadas são projetadas principalmente para lidar com cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuário internos. Se você não tiver feito isso, saiba mais sobre o pacote inicial de políticas personalizadas em Introdução às políticas personalizadas no Ative Directory B2C.

O Azure Ative Directory B2C (Azure AD B2C) fornece suporte para o provedor de identidade de protocolo OAuth 1.0. Este artigo descreve as especificidades de um perfil técnico para interagir com um provedor de declarações que oferece suporte a esse protocolo padronizado. Com um perfil técnico OAuth1, você pode federar com um provedor de identidade baseado em OAuth1, como X. A federação com o provedor de identidade permite que os usuários entrem com suas identidades sociais ou empresariais existentes.

Protocolo

O atributo Name do elemento Protocol precisa ser definido como OAuth1. Por exemplo, o protocolo para o perfil técnico Twitter-OAUTH1 é OAuth1.

<TechnicalProfile Id="Twitter-OAUTH1">
  <DisplayName>X</DisplayName>
  <Protocol Name="OAuth1" />
  ...

Declarações de entrada

Os elementos InputClaims e InputClaimsTransformations estão vazios ou ausentes.

Declarações de saída

O elemento OutputClaims contém uma lista de declarações retornadas pelo provedor de identidade OAuth1. Talvez seja necessário mapear o nome da declaração definida em sua política para o nome definido no provedor de identidade. Você também pode incluir declarações que não são retornadas pelo provedor de identidade, desde que você defina o atributo DefaultValue .

O elemento OutputClaimsTransformations pode conter uma coleção de elementos OutputClaimsTransformation que são usados para modificar as declarações de saída ou gerar novas.

O exemplo a seguir mostra as declarações retornadas pelo provedor de identidade X:

  • A declaração user_id que é mapeada para a declaração issuerUserId .
  • A declaração screen_name mapeada para a declaração displayName .
  • A declaração de e-mail sem mapeamento de nome.

O perfil técnico também retorna declarações que não são retornadas pelo provedor de identidade:

  • A declaração identityProvider que contém o nome do provedor de identidade.
  • A declaração authenticationSource com um valor padrão de socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
  <OutputClaim ClaimTypeReferenceId="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Metadados

Atributo Necessário Description
client_id Sim O identificador de aplicativo do provedor de identidade.
ProviderName Não O nome do provedor de identidade.
request_token_endpoint Sim A URL do ponto de extremidade do token de solicitação de acordo com a RFC 5849.
authorization_endpoint Sim A URL do ponto de extremidade de autorização de acordo com a RFC 5849.
access_token_endpoint Sim A URL do ponto de extremidade do token de acordo com a RFC 5849.
ClaimsEndpoint Não A URL do ponto de extremidade de informações do usuário.
ClaimsResponseFormat Não O formato de resposta a reclamações.

Chaves criptográficas

O elemento CryptographicKeys contém o seguinte atributo:

Atributo Necessário Description
client_secret Sim O segredo do cliente do aplicativo do provedor de identidade.

Redirecionar URL

Ao configurar o URI de redirecionamento do seu provedor de identidade, digite https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp. Certifique-se de substituir {tenant-name} pelo nome do locatário (por exemplo, contosob2c) e {policy-id} pelo identificador da sua política (por exemplo, b2c_1a_policy). O URI de redirecionamento precisa estar em letras minúsculas. Adicione uma URL de redirecionamento para todas as políticas que usam o login do provedor de identidade.

Exemplos: