Compartilhar via


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

Observação

No Azure Active Directory B2C, as políticas personalizadas são projetadas principalmente para tratar de cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuários predefinidos. Se você ainda não fez isso, saiba mais sobre o pacote de início de política personalizado em Introdução às políticas personalizadas no Active Directory B2C.

O Azure AD (Azure Active Directory) B2C oferece suporte para o provedor de identidade do protocolo OAuth 1.0. Este artigo descreve as especificações de um perfil técnico para interagir com um provedor de declarações compatível com 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 corporativas 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 sã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 defina o atributo DefaultValue.

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

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 que é mapeada para a declaração displayName.
  • A declaração email 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 Obrigatório Descrição
client_id Sim O identificador do 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 RFC 5849.
authorization_endpoint Sim A URL do ponto de extremidade da autorização, de acordo com RFC 5849.
access_token_endpoint Sim A URL do ponto de extremidade do token, de acordo com RFC 5849.
ClaimsEndpoint Não A URL do ponto de extremidade de informações do usuário.
ClaimsResponseFormat Não O formato de resposta de declarações.

Chaves criptográficas

O elemento CryptographicKeys contém o seguinte atributo:

Atributo Obrigatório Descrição
client_secret Sim O segredo do cliente do aplicativo do provedor de identidade.

URI de redirecionamento

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

Exemplos: