Partilhar via


Configurar a Segurança de Transmissão com o Azure Ative 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 nas nossas Perguntas Frequentes.

Neste tutorial, aprenda a integrar a autenticação do Azure Ative Directory B2C (Azure AD B2C) com a solução de autenticação de chaves de acesso hospedadas do Transmit Security. O Transmit Security usa autenticação biométrica Fast Identity Online (FIDO2) forte para autenticação omnicanal confiável. A solução garante uma experiência de login suave para os clientes em todos os dispositivos e canais, ao mesmo tempo em que reduz 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 Transmit e Azure AD B2C.

  1. O utilizador abre a página de início de sessão do Azure AD B2C e inicia sessão ou inscreve-se.
  2. O Azure AD B2C redireciona o utilizador para o Transmit Security usando uma solicitação OpenID Connect (OIDC).
  3. O 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 OIDC é enviada para o Azure AD B2C.
  6. O acesso ao aplicativo é concedido ou negado ao usuário, com base nos resultados da verificação.

Pré-requisitos

Para começar, você precisa:

Etapa 1: Criar um aplicativo Transmit

Entre no Portal de Administração do Transmit 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
    Redirecionar URIs https://<your-B2C-tenant>.b2clogin.com/<your-B2C-tenant>.onmicrosoft.com/oauth2/authresp onde <your-B2C-tenant> é o seu domínio de locatário do Azure AD B2C (ou <your-B2C-tenant>.b2clogin.com é o seu domínio personalizado)
  3. Selecione Adicionar.

  4. Após o registo, é apresentado um ID do Cliente e um Segredo do Cliente . Registre os valores a serem usados posteriormente.

Passo 2: Configurar a experiência de início de sessão

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

  1. Selecione Autenticação e, em seguida, selecione Gestão de Experiências.

  2. No menu suspenso, selecione seu aplicativo.

  3. Configure seu aplicativo com os seguintes atributos:

    Propriedade Descrição
    Identificador de utilizador Selecione E-mail
    Método de autenticação principal Selecione Chave de acesso
    Método de autenticação secundária Ativar apenas WebAuthn QR e Email OTP
    Selecionar informações do usuário Excluir todos os campos padrão
  4. Selecione Guardar.

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 B2C IEF Policy Administrator.

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

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

  4. Em Serviços do Azure, selecione 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 de Cliente ID do cliente fornecido pela Transmit
    Segredo do cliente Segredo do cliente fornecido pela Transmit
    Âmbito de aplicação openid email
    Tipo de resposta código
    Modo de resposta form_post
    Nome de exibição email
    E-mail email
  7. Selecione Guardar.

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 entrada. Para adicionar o provedor de identidade Transmit Security a 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 utilizador.
  3. Selecione Inscrever-se e iniciar sessão no tipo de fluxo de utilizador e, em seguida, selecione Criar.
  4. Insira um Nome para o fluxo de usuário, como signupsignin.
  5. Em Provedores de identidade:
    • Para Contas Locais, selecione Nenhuma.
    • Em Provedores de identidade personalizados, selecione o provedor Transmit Security.
  6. Selecione Criar para adicionar o fluxo de utilizador.

Etapa 5: Testar o fluxo do usuário

  1. No locatário 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:
    • Em Aplicação, selecione a sua aplicação Web registada.
    • Em URL de resposta, selecione https://jwt.ms.
  4. Selecione Executar fluxo de utilizador.
  5. O navegador é redirecionado para a página de login do Transmit.
  6. Conclua o fluxo de login: insira o e-mail da sua 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 o segredo do cliente do seu aplicativo Transmit que você registrou anteriormente em seu locatário do Azure AD B2C.

  1. Inicie sessão no portal 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 Nome do diretório , localize o diretório do Azure AD B2C 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, selecione 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 pela Transmit
    Utilização da Chave Assinatura
  7. Selecione Criar para adicionar a chave de política.

Etapa 4: Adicionar Transmit como um provedor de identidade

Para habilitar o logon com o Transmit Security, defina Transmit Security 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 o Transmit Security como um provedor de declarações adicionando-o ao elemento ClaimsProviders no arquivo de extensão da sua política.

  1. Obtenha os pacotes iniciais de política personalizados do GitHub e, em seguida, atualize os arquivos XML no pacote inicial SocialAndLocalAccounts com seu nome de locatário do Azure AD B2C:

    1. Faça o download do 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. Encontre o elemento ClaimsProviders. Se 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 o ID do cliente Transmit Security.

  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. Selecione Guardar.

Etapa 5: Adicionar um percurso do utilizador

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

  1. No pacote inicial, abra o arquivo LocalAccounts/ TrustFrameworkBase.xml.
  2. Encontre e copie o conteúdo do elemento UserJourney que inclui Id=SignUpOrSignIn.
  3. Abra o LocalAccounts/ TrustFrameworkExtensions.xml.
  4. Encontre o elemento UserJourneys . Se não houver nenhum elemento, adicione um.
  5. Cole o elemento UserJourney como filho do elemento UserJourneys.
  6. Renomeie o ID da experiência do utilizador (por exemplo, Id=TransmitSUSI)

Etapa 6: Adicionar transmissão à jornada do usuário

Adicione o novo fornecedor de identidade ao percurso do utilizador.

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

O XML seguinte demonstra a jornada de orquestração do utilizador com o fornecedor 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 da parte confiadora

A política da parte confiável, por exemplo, SignUpSignIn.xml, especifica a experiência do utilizador que o Azure AD B2C executa. Encontre o elemento DefaultUserJourney dentro da parte confiável. Atualize o ReferenceId para corresponder ao ID de trajetória do utilizador, em que adicionou o fornecedor de identidade.

No exemplo seguinte, para o percurso do TransmitSUSI utilizador, o ReferenceId é configurado 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 o seu inquilino do Azure AD B2C, carregue a política personalizada:

  1. Inicie sessão no portal 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 Nome do diretório , localize o diretório do Azure AD B2C e selecione Alternar.
  4. Em Políticas, selecione Identity Experience Framework.
  5. Selecione Carregar Política Personalizada e, em seguida, carregue os ficheiros atualizados pela seguinte ordem:
  • Política de 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 parte confiável, como SignUpOrSignIn.xml

Etapa 9: Testar sua política personalizada

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

  1. No 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. Em Aplicativo, selecione o aplicativo Web que você registrou. O URL de resposta é https://jwt.ms.
  4. Selecione Executar agora.
  5. O navegador é redirecionado para a página de login do Transmit.
  6. Conclua o fluxo de login: insira o e-mail da sua 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óximos passos

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