Compartilhar via


Configurar a Segurança de Transmissão com o Azure Active Directory B2C para autenticação de chaves de acesso

Importante

A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.

Neste tutorial, aprenda a integrar a autenticação do Azure AD B2C (Azure Active Directory B2C) à solução de autenticação de chaves de passe hospedadas do Transmit Security. Transmit Security usa forte autenticação biométrica FIDO2 (Fast Identity Online) para autenticação omnicanal confiável. A solução garante uma experiência de entrada tranquila para clientes em dispositivos e canais, reduzindo fraudes, phishing e reutilização de credenciais.

Descrição do cenário

O diagrama de arquitetura a seguir ilustra a implementação:

Diagrama da arquitetura do Transmit e do Azure AD B2C.

  1. O usuário abre a página de entrada do Azure AD B2C e entra ou se inscreve.
  2. O Azure AD B2C redireciona o usuário para a Segurança de Transmissão usando uma solicitação OIDC (OpenID Connect).
  3. Transmit Security autentica o usuário usando biometria FIDO2 sem aplicativo, como impressão digital.
  4. Uma resposta de autenticação descentralizada é retornada para Transmit Security.
  5. A resposta do OIDC é encaminhada para o Azure AD B2C.
  6. O usuário recebe ou nega acesso ao aplicativo, com base nos resultados da verificação.

Pré-requisitos

Para começar, você precisa do seguinte:

Etapa 1: Criar um aplicativo de transmissão

Entre no Portal de Administração de Transmissão e crie um aplicativo:

  1. Em Aplicativos, selecione Adicionar aplicativo.

  2. Configure o aplicativo com os seguintes atributos:

    Propriedade Descrição
    Nome do aplicativo Nome do aplicativo
    Nome do cliente Nome do cliente
    URIs de redirecionamento https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp onde <your-B2C-tenant> está seu domínio de locatário do Azure AD B2C (ou <your-B2C-tenant>.b2clogin.com é seu domínio personalizado)
  3. Selecione Adicionar.

  4. Após o registro, uma ID do cliente e o Segredo do Cliente são exibidos. Registre os valores a serem usados posteriormente.

Etapa 2: Configurar a experiência de entrada

No Portal de Administração de Transmissão, configure a experiência de autenticação do usuário:

  1. Selecione Autenticação e selecione Gerenciamento de Experiências.

  2. No menu de opções, selecione seu aplicativo.

  3. Configure seu aplicativo com os seguintes atributos:

    Propriedade Descrição
    Identificador de usuário Selecionar Email
    Método de autenticação primária Selecionar chave de passagem
    Método de autenticação secundária Habilitar somente o WebAuthn QR e o Email OTP
    Selecionar informações do usuário Excluir todos os campos padrão
  4. Clique em Salvar.

Etapa 3: Adicionar Transmit como um provedor de identidade

Para permitir que os usuários entrem com o Transmit Security, configure o Transmit Security como um novo provedor de identidade. No Azure AD B2C, siga estes passos:

  1. Entre no portal do Azure como pelo menos Administrador de Política do IEF B2C.

  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.

  3. Nas configurações do Portal | Página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório B2C do Azure AD e selecione Alternar.

  4. Nos serviços do Azure, selecione o Azure AD B2C (ou selecione Mais serviços e use a caixa de pesquisa Todos os serviços para pesquisar o Azure AD B2C).

  5. Selecione provedores de identidade e, em seguida, selecione Novo provedor OpenID Connect.

  6. Configure o provedor da seguinte maneira:

    Propriedade Descrição
    Nome Nome, como Transmit Security
    URL de metadados https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
    ID do cliente ID do cliente fornecida pelo Transmit
    Segredo do cliente Segredo do cliente fornecido pelo Transmit
    Âmbito openid email
    Tipo de resposta código
    Modo de resposta form_post
    Nome de exibição email
    Email email
  7. Clique em Salvar.

Etapa 4: Criar um fluxo de usuário

Neste ponto, o provedor de identidade Transmit Security foi configurado, mas ainda não está disponível em nenhuma das páginas de login. Para adicionar o provedor de identidade Transmit Security para um fluxo de usuário:

  1. Em seu locatário do Azure AD B2C, em Políticas, selecione Fluxos de usuário.
  2. Selecione Novo fluxo de usuário.
  3. Selecione Inscrever-se e entrar no tipo de fluxo do usuário e, em seguida, selecione Criar.
  4. Insira um nome para o fluxo de usuário, como signupsignin.
  5. Clique em Provedores de identidade:
    • Para Contas Locais, selecione Nenhum.
    • Para provedores de identidade personalizados, selecione o provedor Transmit Security.
  6. Selecione Criar para adicionar o fluxo do usuário.

Etapa 5: Testar o fluxo do usuário

  1. Na instância do Azure AD B2C, selecione Fluxos de usuário.
  2. Selecione o fluxo de usuário criado, como B2C_1_signupsignin.
  3. Selecione Executar fluxo de usuário:
    • Para o Aplicativo, selecione seu aplicativo Web registrado.
    • Para a URL de Resposta, selecione https://jwt.ms.
  4. Selecione Executar fluxo do usuário.
  5. O navegador é redirecionado para a página de entrada do Transmit.
  6. Conclua o fluxo de entrada: insira seu email de conta e autentique-se usando biometria (por exemplo, impressão digital).
  7. O navegador é redirecionado para https://jwt.ms com um token B2C do Azure AD.

Etapa 3: Criar uma chave de política

Você precisa armazenar a senha do cliente do aplicativo Transmit que você registrou anteriormente em seu tenant do Azure AD B2C.

  1. Entre no portal do Azure.

  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.

  3. Nas configurações do Portal | Página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório B2C do Azure AD e selecione Alternar.

  4. Na página Visão geral, em Políticas, selecione Identity Experience Framework.

  5. Selecione Chaves de Política e, em seguida, escolha Adicionar.

  6. Configure a chave de política da seguinte maneira:

    Propriedade Descrição
    Opções Manual
    Nome Nome da chave de política, como TransmitClientSecret
    Segredo Segredo do cliente fornecido pelo Transmit
    Uso de chave Signature
  7. Selecione Criar para adicionar a chave de política.

Etapa 4: Adicionar Transmit como um provedor de identidade

Para habilitar a entrada com a Segurança de Transmissão, defina a Segurança de Transmissão como um provedor de declarações com o qual o Azure AD B2C se comunica por meio de um ponto de extremidade. O ponto de extremidade fornece declarações usadas pelo Azure AD B2C para verificar um usuário autenticado com uma identidade digital em um dispositivo.

Você pode definir a Segurança de Transmissão como um provedor de declarações adicionando-a ao elemento ClaimsProviders no arquivo de extensão da política.

  1. Obtenha os pacotes de início de políticas personalizadas no GitHub. Em seguida, atualize os arquivos XML no pacote de início SocialAndLocalAccounts com o nome do locatário do Azure AD B2C:

    1. Baixe o arquivo .zip ou clone o repositório:

      git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
      
    2. Nos arquivos no diretório LocalAccounts , substitua a cadeia de caracteres yourtenant pelo nome do locatário do Azure AD B2C.

  2. Abra o LocalAccounts/ TrustFrameworkExtensions.xml.

  3. Localize o elemento ClaimsProviders. Se ele não aparecer, adicione-o sob o elemento raiz.

  4. Adicione um novo ClaimsProvider semelhante ao exemplo a seguir:

     <ClaimsProvider>
         <Domain>api.transmitsecurity.io</Domain>
         <DisplayName>Transmit</DisplayName>
         <TechnicalProfiles>
           <TechnicalProfile Id="TS-OpenIdConnect">
             <DisplayName>Transmit</DisplayName>
             <Protocol Name="OpenIdConnect" />
             <Metadata>
               <Item Key="METADATA">https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration</Item>
                <!-- Update the Client ID below to the Transmit Security client ID -->
               <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
               <Item Key="response_types">code</Item>
               <Item Key="scope">openid email</Item>
               <Item Key="response_mode">form_post</Item>
               <Item Key="HttpBinding">POST</Item>
               <Item Key="UsePolicyInRedirectUri">false</Item>
               <Item Key="AccessTokenResponseFormat">json</Item>
             </Metadata>
             <CryptographicKeys>
               <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
             </CryptographicKeys>
             <OutputClaims>
               <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
               <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
               <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
               <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
             </OutputClaims>
             <OutputClaimsTransformations>
               <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
               <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
               <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
             </OutputClaimsTransformations>
             <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
           </TechnicalProfile>
         </TechnicalProfiles>
       </ClaimsProvider>    
    
  5. Defina client_id com a ID do cliente de Segurança de Transmissão.

  6. Atualize a seção client_secret com o nome da chave de política que você criou (por exemplo, B2C_1A_TransmitClientSecret):

    <Key Id="client_secret" StorageReferenceId="B2C_1A_TransmitClientSecret" />
    
  7. Clique em Salvar.

Etapa 5: Adicionar um percurso do usuário

Neste ponto, o provedor de identidade está configurado, mas ainda não está disponível em nenhuma das páginas de login. Se você tiver um percurso personalizado do usuário, continue para a etapa Adicionar Transmitir ao percurso do usuário. Caso contrário, crie um percurso de usuário de modelo duplicado:

  1. No pacote inicial, abra o LocalAccounts/ TrustFrameworkBase.xml arquivo.
  2. Localize e copie o conteúdo do elemento UserJourney que inclui Id=SignUpOrSignIn.
  3. Abra o LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Localize o elemento UserJourneys . Se não houver nenhum elemento, adicione um.
  5. Cole o conteúdo do elemento UserJourney como filho do elemento UserJourneys.
  6. Renomear aID de percurso do usuário (por exemplo,Id=TransmitSUSI)

Etapa 6: Adicionar Transmissão ao percurso do usuário

Adicione o novo provedor de identidade ao percurso do usuário:

  1. No percurso de usuário, localize o elemento da etapa de orquestração que inclui Type=CombinedSignInAndSignUp ou Type=ClaimsProviderSelection. Normalmente é a primeira etapa de orquestração. O elemento ClaimsProviderSelections tem uma lista de provedores de identidade com a qual os usuários entrarão. A ordem dos elementos controla a ordem dos botões de entrada.
  2. Adicione um elemento XML ClaimsProviderSelection.
  3. Defina o valor de TargetClaimsExchangeId com um nome amigável.
  4. Adicione um elemento ClaimsExchange .
  5. Defina a ID como o valor da ID de troca de declarações de destino.
  6. Atualize o valor TechnicalProfileReferenceId para a ID do perfil técnico que você criou.

O XML a seguir demonstra as etapas de orquestração de uma jornada do usuário com o provedor de identidade:

    <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
      <ClaimsProviderSelections>
        ...
        <ClaimsProviderSelection TargetClaimsExchangeId="TSIDExchange" />
      </ClaimsProviderSelections>
      ...
    </OrchestrationStep>

    <OrchestrationStep Order="2" Type="ClaimsExchange">
      ...
      <ClaimsExchanges>
        <ClaimsExchange Id="TSIDExchange" TechnicalProfileReferenceId="TS-OpenIdConnect" />
      </ClaimsExchanges>
    </OrchestrationStep>

Etapa 7: configurar a política de terceira parte confiável

A política de terceira parte confiável, por exemplo SignUpSignIn.xml, especifica o percurso do usuário que o Azure AD B2C executa. Localize o elemento DefaultUserJourney na parte confiável. Atualize a ReferenceId para corresponder à ID do percurso do usuário, na qual você adicionou o provedor de identidade.

No exemplo a seguir, para o percurso do TransmitSUSI usuário, o ReferenceId é definido como TransmitSUSI:

  <RelyingParty>
    <DefaultUserJourney ReferenceId="TransmitSUSI" />
    <TechnicalProfile Id="TS-OpenIdConnect">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>

Etapa 8: Carregar a política personalizada

Usando o diretório com seu tenant Azure AD B2C, faça upload da política personalizada:

  1. Entre no portal do Azure.
  2. Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
  3. Nas configurações do Portal | Página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório B2C do Azure AD e selecione Alternar.
  4. Em Políticas, selecione Identity Experience Framework.
  5. Selecione Carregar Política Personalizada e carregue os arquivos atualizados na seguinte ordem:
  • Política base, por exemplo TrustFrameworkBase.xml
  • Política de localização, por exemplo TrustFrameworkLocalization.xml
  • Política de extensão, por exemplo TrustFrameworkExtensions.xml
  • Política de terceira parte confiável, como SignUpOrSignIn.xml

Etapa 9: Testar sua política personalizada

Usando o diretório com sua instância do Azure AD B2C, teste sua política personalizada:

  1. Abra o locatário do Azure AD B2C e, em Políticas, selecione Identity Experience Framework.
  2. Em políticas personalizadas, selecione B2C_1A_signup_signin.
  3. Para o Aplicativo, selecione o aplicativo Web que você registrou. A URL de Resposta é https://jwt.ms.
  4. Selecione Executar agora.
  5. O navegador é redirecionado para a página de entrada do Transmit.
  6. Conclua o fluxo de entrada: insira seu email de conta e autentique-se usando biometria (por exemplo, impressão digital).
  7. O navegador é redirecionado para https://jwt.ms com um token B2C do Azure AD.

Próximas etapas

Para obter informações adicionais, examine os seguintes artigos: