Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 passo a passo, saiba como integrar um aplicativo de pagamento online de exemplo no Azure Ative Directory B2C com o APLICATIVO TypingDNA. Usando o Aplicativo TypingDNA, os clientes do Azure AD B2C podem cumprir os requisitos de transação da Diretiva de Serviços de Pagamento 2 (PSD2) por meio da dinâmica de pressionamento de tecla e da autenticação forte do cliente. Saiba mais sobre o TypingDNA aqui.
O Azure AD B2C usa as tecnologias do TypingDNA para capturar as características de digitação dos usuários e gravá-las e analisá-las para familiaridade em cada autenticação. Isso adiciona uma camada de proteção relacionada ao risco de uma autenticação e avalia os níveis de risco. O Azure AD B2C pode invocar outros mecanismos para fornecer mais confiança de que o usuário é quem afirma ser, invocando a autenticação multifator do Microsoft Entra, forçando a verificação de email ou qualquer outra lógica personalizada para seu cenário.
Nota
Esta política de exemplo é baseada no pacote inicial SocialAndLocalAccountsWithMfa .
Descrição do cenário
Inscrição
As páginas B2C do Azure AD usam a biblioteca JavaScript do TypingDNA para registrar o padrão de digitação do usuário. Por exemplo, o nome de usuário e a senha são registrados na inscrição para o registro inicial e, em seguida, em cada login para verificação.
Quando o usuário envia a página, a biblioteca TypingDNA calculará a característica de digitação do usuário. Depois disso, insira as informações em um campo de texto oculto que o Azure AD B2C renderizou. Este campo está oculto com CSS.
O exemplo contém arquivos HTML com as modificações JavaScript e CSS e é referenciado
api.selfasserted.tdnasigninpelas definições de conteúdo eapi.selfasserted.tdnasignup. Consulte hospedar o conteúdo da página para hospedar seus arquivos HTML.O Azure AD B2C agora tem o padrão de digitação dentro do pacote de declarações quando o usuário envia suas credenciais. Ele deve chamar uma API (sua) para passar esses dados para o ponto de extremidade TypingDNA REST API. Esta API está incluída no exemplo (typingDNA-API-Interface).
Em seguida, a API de camada intermediária passa os dados do padrão de digitação para a API REST do TypingDNA. Na inscrição, o ponto de extremidade de verificação do usuário é chamado para confirmar que o usuário não existia e, em seguida, o ponto de extremidade do padrão de salvamento é chamado para salvar o primeiro padrão de digitação do usuário.
Nota
Todas as chamadas para o ponto de extremidade TypingDNA REST API enviam um UserId. Tem de ser um valor hash. O Azure AD B2C utiliza a transformação das afirmações HashObjectIdWithEmail para criar um hash do e-mail com um segredo e um salt aleatório.
As chamadas à API REST são modeladas com validationTechnicalProfilesLocalAccountSignUpWithLogonEmail-TDNA:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-TDNA" />
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="true"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser"/>
</ValidationTechnicalProfiles>
Iniciar sessão
No login subsequente, o padrão de digitação do usuário é calculado da mesma maneira que na inscrição usando o HTML personalizado. Quando o perfil de digitação estiver dentro do pacote de declarações do Azure AD B2C, o Azure AD B2C chamará sua API para chamar o ponto de extremidade TypingDNA REST API. O ponto de extremidade do usuário de verificação é chamado para confirmar que o usuário existe. Em seguida, verifique se o ponto de extremidade padrão é chamado para retornar o net_score. Esta net_score é uma indicação de quão próximo o padrão de digitação estava do original no momento da inscrição.
Este padrão de digitação é modelado com validationTechnicalProfiles dentro de SelfAsserted-LocalAccountSignin-Email-TDNA:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="login-NonInteractive"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="false"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-VerifyUser"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>saveTypingPattern</Value>
<Value>False</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationTechnicalProfile>
</ValidationTechnicalProfiles>
Se o usuário obtiver um padrão de digitação com um alto net_score, você poderá salvá-lo usando o ponto de extremidade do padrão de digitação TypingDNA salvo.
Sua API deve retornar uma declaração saveTypingPattern se você quiser que o ponto de extremidade do padrão de digitação salvo TypingDNA seja chamado pelo Azure AD B2C (por meio de sua API).
O exemplo no repositório contém uma API (TypingDNA-API-Interface) que é configurada com as seguintes propriedades.
Modo de treinamento - Se o usuário tiver menos de dois padrões salvos, sempre solicite MFA.
Se o usuário tiver 2-5 padrões salvos e o for inferior a
net_score50, solicite MFA.Se o usuário tiver 5+ padrões salvos e o for inferior a
net_score65, solicite MFA.
Esses limites devem ser ajustados no seu caso de uso.
Depois que sua API tiver avaliado o
net_score, ele deve retornar uma reivindicação booleana para B2C -promptMFA.A
promptMFAdeclaração é usada dentro de uma pré-condição para executar condicionalmente a autenticação multifator do Microsoft Entra.
<OrchestrationStep Order="3" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>isActiveMFASession</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>promptMFA</Value>
<Value>False</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" />
</ClaimsExchanges>
</OrchestrationStep>
A bordo com TypingDNA
- Inscreva-se no TypingDNA aqui
- Faça login no painel do TypingDNA e obtenha a chave e o segredo da API. Isso será necessário na configuração da interface da API mais tarde
Integrar o TypingDNA com o Azure AD B2C
Hospede o TypingDNA-API-Interface em seu provedor de hospedagem de escolha
Substitua todas as instâncias de
apiKeyeapiSecretna solução TypingDNA-API-Interface pelas credenciais do seu painel TypingDNAHospede os arquivos HTML em seu provedor de escolha seguindo os requisitos do CORS aqui
Substitua os elementos LoadURI para as
api.selfasserted.tdnasignupdefiniçõesapi.selfasserted.tdnasigninde conteúdo eTrustFrameworkExtensions.xmlno arquivo para o URI de seus arquivos HTML hospedados, respectivamente.Crie uma chave de política B2C na estrutura de experiência de identidade na folha Microsoft Entra no portal do Azure. Use a
Generateopção e nomeie essa chavetdnaHashedId.Substitua o TenantId's nos arquivos de política
Substitua ServiceURLs em todos os perfis técnicos da API REST do TypingDNA (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) pelo ponto de extremidade da API TypingDNA-API-Interface.
Carregue ficheiros de política para o seu inquilino.
Testar o fluxo do usuário
Abra o locatário B2C e escolha a estrutura de experiência de identidade.
Selecione o fluxo de usuário criado anteriormente.
Selecione Executar fluxo de usuário
a) Aplicativo - selecione o aplicativo registrado (o exemplo é JWT)
b) URL de resposta - selecione o URL de redirecionamento
c. Selecione Executar fluxo de utilizador.
Percorra o fluxo de inscrição e crie uma conta
Terminar sessão
Passar pelo fluxo de entrada
O resultado resultante do JWT mostrará os resultados do TypingDNA
Versão ao vivo
• A MFA foi desativada nesta versão de teste, mas você pode ver o resultado sobre se a MFA teria sido solicitada pela declaração promptMFA após a autenticação.
• Registe-se aqui e Inicie sessão aqui
Próximos passos
Para obter informações adicionais, consulte os seguintes artigos: