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: