Transmitir um token de acesso do provedor de identidade para o aplicativo no Azure Active Directory B2C

Antes de começar, use o seletor anterior para escolher o tipo de política que está configurando. O Azure AD B2C oferece dois métodos para definir como os usuários interagem com seus aplicativos: por meio de fluxos dos usuários predefinidos ou políticas personalizadas totalmente configuráveis. As etapas necessárias neste artigo são diferentes para cada método.

Um fluxo de usuário no AAD B2C (Azure Active Directory B2C) fornece aos usuários do seu aplicativo uma oportunidade de se inscrever ou entrar com um provedor de identidade. Quando a jornada é iniciada, o Azure AD B2C recebe um token de acesso do provedor de identidade. O Azure Active Directory B2C usa esse token para recuperar informações sobre o usuário. Habilitar uma declaração no seu fluxo de usuário para passar o token por meio para os aplicativos que você se registrar no Azure AD B2C.

Atualmente, o AAD B2C dá suporte à transmissão do token de acesso dos provedores de identidade do OAuth 2.0, que incluem o Facebook e o Google. Para todos os outros provedores de identidade, a declaração é retornada em branco.

O Azure AD B2C é compatível com passagem do token de acesso dos provedores de identidade OAuth 2.0 e OpenID Connect. Para todos os outros provedores de identidade, a declaração é retornada em branco.

O diagrama a seguir mostra como um token do provedor de identidade retorna o seu aplicativo:

Fluxo de transmissão do provedor de identidade

Pré-requisitos

Habilitar a declaração

  1. Entre no portal do Azure como administrador global do locatário Azure AD B2C.

  2. Verifique se você está usando o diretório que contém seu locatário do Azure AD B2C. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.

  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory B2C na lista Nome do diretório e, em seguida, selecione Alternar.

  4. Escolha Todos os serviços no canto superior esquerdo do portal do Azure, procure e selecione Azure AD B2C.

  5. Selecione Fluxos de usuário (políticas) e escolha o fluxo de usuário. Por exemplo, B2C_1_signupsignin1.

  6. Selecione Declarações do aplicativo.

  7. Habilite a declaração Token de acesso do provedor de identidade.

    Habilite a declaração Token de acesso do provedor de identidade

  8. Clique em Salvar para salvar o fluxo de usuário.

Testar o fluxo de usuário

Ao testar seus aplicativos no Azure AD B2C, pode ser útil ter o token do Azure AD B2C retornado ao https://jwt.ms para examinar as declarações.

  1. Na página de visão geral do fluxo de usuário, selecione Executar o fluxo de usuário.

  2. Para Aplicativo, selecione seu aplicativo que você registrou anteriormente. Para ver o token no exemplo a seguir, a URL de resposta deve mostrar https://jwt.ms.

  3. Clique em Executar o fluxo de usuário, e em seguida, entre com suas credenciais de conta. Você deve ver o token de acesso do provedor de identidade na declaração idp_access_token.

    Você deverá ver algo semelhante ao texto a seguir:

    Token decodificado em jwt.ms com o bloco idp_access_token realçado

Adicione os elementos de declaração

  1. Abre seu arquivo TrustframeworkExtensions.xml e adicione o seguinte elemento ClaimType com um identificador de identityProviderAccessToken para o elemento ClaimsSchema:

    <BuildingBlocks>
      <ClaimsSchema>
        <ClaimType Id="identityProviderAccessToken">
          <DisplayName>Identity Provider Access Token</DisplayName>
          <DataType>string</DataType>
          <AdminHelpText>Stores the access token of the identity provider.</AdminHelpText>
        </ClaimType>
        ...
      </ClaimsSchema>
    </BuildingBlocks>
    
  2. Adicione o elemento OutputClaim ao elemento TechnicalProfile para cada provedor de identidade do OAuth 2.0 que você gostaria de ter o token de acesso. O exemplo a seguir mostra o elemento adicionado ao perfil técnico do Facebook:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Salve o arquivo TrustFrameworkExtensions.xml.

  4. Abra seu arquivo de política de terceira parte confiável, como Signuporsignin e adicione o elemento OutputClaim para TechnicalProfile:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  5. Salve o arquivo da política.

Testar sua política

Ao testar seus aplicativos no Azure AD B2C, pode ser útil ter o token do Azure AD B2C retornado ao https://jwt.ms para poder examinar as declarações.

Fazer upload dos arquivos

  1. Entre no portal do Azure.
  2. Verifique se você está usando o diretório que contém seu locatário do Azure AD B2C. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.
  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory B2C na lista Nome do diretório e, em seguida, selecione Alternar.
  4. Escolha Todos os serviços no canto superior esquerdo do Portal do Azure, pesquise Azure AD B2C e selecione-o.
  5. Selecione Estrutura de Experiência de Identidade.
  6. Na página de políticas personalizadas, clique em Carregar Política.
  7. Habilite Substituir a política se ela existir e, em seguida, navegue até o arquivo TrustFrameworkExtensions.xml e selecione-o.
  8. Escolha Carregar.
  9. Repita as etapas 5 a 7 para o arquivo de terceira parte confiável, como SignUpOrSignIn.xml.

Executar a política

  1. Abra a política que você alterou. Por exemplo, B2C_1A_signup_signin.

  2. Para Aplicativo, selecione seu aplicativo que você registrou anteriormente. Para ver o token no exemplo a seguir, a URL de resposta deve mostrar https://jwt.ms.

  3. Selecione Executar Agora.

    Você deverá ver algo semelhante ao texto a seguir:

    Token decodificado em jwt.ms com o bloco idp_access_token realçado

Próximas etapas

Saiba mais na visão geral de tokens do AAD B2C.