Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Saiba como integrar a autenticação do Azure Ative Directory B2C (Azure AD B2C) com a tecnologia BioCatch para aumentar a sua postura de segurança de Gestão de Acesso e Identidade do Cliente (CIAM). Os produtos BioCatch analisam os comportamentos digitais físicos e cognitivos dos utilizadores em busca de informações que ajudem a distinguir clientes legítimos.
Ir para biocatch.com para saber mais BioCatch
Pré-requisitos
Para começar, você precisa:
- Uma assinatura do Azure
- Se não tiver uma, obtenha uma conta gratuita do Azure
- Um cliente do Azure AD B2C associado à assinatura do Azure
- Aceda à página biocatch.com Contacte-nos para solicitar uma conta
- Mencione a integração do Azure AD B2C
Descrição do cenário
A integração do BioCatch inclui os seguintes componentes:
-
Uma aplicação Web ou um serviço Web - os utilizadores navegam para este serviço Web que instancia um ID de sessão de cliente exclusivo que vai para o BioCatch
- O ID de sessão transmite as características de comportamento do utilizador ao BioCatch
- Um método - envia a ID da sessão para o Azure AD B2C. No exemplo, JavaScript insere o valor em um campo HTML oculto.
- Uma interface do usuário personalizada do Azure AD B2C - oculta um campo HTML para a entrada de ID de sessão do JavaScript
-
Política personalizada do Azure AD B2C:
- Toma o ID da sessão como uma reivindicação por meio de um perfil técnico autodeclarado
- Integra-se com o BioCatch através de um fornecedor de declarações da API REST e passa o ID da sessão para o BioCatch
- Várias declarações personalizadas retornam do BioCatch para a lógica de política personalizada
- Um percurso do utilizador avalia uma reclamação retornada e executa uma ação condicional, como a autenticação multifator.
Saiba mais:
- Visão geral da política personalizada do Azure AD B2C
- Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure AD B2C
O diagrama a seguir ilustra os fluxos de usuário com informações de sessão.
- O utilizador navega para o serviço Web, que devolve valores HTML, CSS ou JavaScript e, em seguida, carrega o BioCatch JavaScript SDK. JavaScript do lado do cliente configura um ID de sessão de cliente para o BioCatch SDK. Como alternativa, o serviço Web pré-configura o ID da sessão do cliente e o envia para o cliente. Você pode configurar o SDK JavaScript instanciado para o BioCatch, que envia o comportamento do usuário a partir do dispositivo cliente para o serviço BioCatch, usando o ID da sessão do cliente.
- O usuário se inscreve ou entra e é redirecionado para o Azure AD B2C.
- A jornada do usuário inclui um provedor de declarações autodeclarado, que insere o ID da sessão do cliente. Este campo está oculto. Use JavaScript para inserir o ID da sessão no campo. Selecione Seguinte para continuar a inscrever-se ou iniciar sessão. O identificador da sessão é enviado para a BioCatch para avaliação de risco. O BioCatch retorna informações da sessão e recomenda permitir ou bloquear. A jornada do usuário tem uma verificação condicional, que atua sobre as reivindicações devolvidas.
- Com base no resultado da verificação condicional, uma ação é invocada.
- O serviço Web pode usar o ID da sessão para consultar a API do BioCatch para determinar informações de risco e sessão.
Introdução ao BioCatch
Aceda à página biocatch.com Contacte-nos para iniciar uma conta.
Configurar a interface do usuário personalizada
Recomendamos que você oculte o campo ID da Sessão do Cliente com CSS, JavaScript ou outro método. Para testar, mostre o campo. Por exemplo, JavaScript oculta o campo de entrada como:
document.getElementById("clientSessionId").style.display = 'none';
Configurar políticas do Azure AD B2C Identity Experience Framework
Para começar, consulte Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure AD B2C.
Crie um novo arquivo que herda do arquivo de extensões.
<BasePolicy> <TenantId>tenant.onmicrosoft.com</TenantId> <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId> </BasePolicy>
Crie uma referência à interface do usuário personalizada para ocultar a caixa de entrada, no recurso BuildingBlocks.
<ContentDefinitions> <ContentDefinition Id="api.selfasserted"> <LoadUri>https://domain.com/path/to/selfAsserted.cshtml</LoadUri> <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri> </ContentDefinition> </ContentDefinitions>
No recurso BuildingBlocks, adicione as seguintes declarações.
<ClaimsSchema> <ClaimType Id="riskLevel"> <DisplayName>Session risk level</DisplayName> <DataType>string</DataType> </ClaimType> <ClaimType Id="score"> <DisplayName>Session risk score</DisplayName> <DataType>int</DataType> </ClaimType> <ClaimType Id="clientSessionId"> <DisplayName>The ID of the client session</DisplayName> <DataType>string</DataType> <UserInputType>TextBox</UserInputType> </ClaimType> </ClaimsSchema>
Configure um provedor de declarações autodeclarado para o campo ID da sessão do cliente.
<ClaimsProvider> <DisplayName>Client Session ID Claims Provider</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="login-NonInteractive-clientSessionId"> <DisplayName>Client Session ID TP</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ContentDefinitionReferenceId">api.selfasserted</Item> </Metadata> <CryptographicKeys> <Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" /> </CryptographicKeys> <!—Claim we created earlier --> <OutputClaims> <OutputClaim ClaimTypeReferenceId="clientSessionId" Required="false" DefaultValue="100"/> </OutputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Configure um provedor de declarações da API REST para o BioCatch.
<TechnicalProfile Id="BioCatch-API-GETSCORE"> <DisplayName>Technical profile for BioCatch API to return session information</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ServiceUrl">https://biocatch-url.com/api/v6/score?customerID=<customerid>&action=getScore&uuid=<uuid>&customerSessionID={clientSessionId}&solution=ATO&activtyType=<activity_type>&brand=<brand></Item> <Item Key="SendClaimsIn">Url</Item> <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> <!-- Set AuthenticationType to Basic or ClientCertificate in production environments --> <Item Key="AuthenticationType">None</Item> <!-- REMOVE the following line in production environments --> <Item Key="AllowInsecureAuthInProduction">true</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="clientsessionId" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="riskLevel" /> <OutputClaim ClaimTypeReferenceId="score" /> </OutputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> </TechnicalProfile> </TechnicalProfiles>
Observação
O BioCatch fornece o URL, o ID do cliente e o ID de utilizador exclusivo (UUID). A declaração SessionID do cliente passa como um parâmetro de cadeia de caracteres de consulta para o BioCatch. Você pode selecionar o tipo de atividade, por exemplo, MAKE_PAYMENT.
Configure a jornada do usuário usando o exemplo a seguir:
- Obtenha o clientSessionID como uma reivindicação.
- Ligue para a API BioCatch para obter as informações da sessão.
- Se o risco de declaração retornado for baixo, ignore o passo de MFA, caso contrário, implemente MFA para o utilizador.
<OrchestrationStep Order="8" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="clientSessionIdInput" TechnicalProfileReferenceId="login-NonInteractive-clientSessionId" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="9" Type="ClaimsExchange"> <ClaimsExchanges> <ClaimsExchange Id="BcGetScore" TechnicalProfileReferenceId=" BioCatch-API-GETSCORE" /> </ClaimsExchanges> </OrchestrationStep> <OrchestrationStep Order="10" Type="ClaimsExchange"> <Preconditions> <Precondition Type="ClaimEquals" ExecuteActionsIf="true"> <Value>riskLevel</Value> <Value>LOW</Value> <Action>SkipThisOrchestrationStep</Action> </Precondition> </Preconditions> <ClaimsExchanges> <ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" /> </ClaimsExchanges>
Configurar parte confiável (opcional). Você pode passar as informações retornadas do BioCatch para o seu aplicativo como reivindicações no token: nível de risco e pontuação.
<RelyingParty> <DefaultUserJourney ReferenceId="SignUpOrSignInMfa" /> <UserJourneyBehaviors> <SingleSignOn Scope="Tenant" KeepAliveInDays="30" /> <SessionExpiryType>Absolute</SessionExpiryType> <SessionExpiryInSeconds>1200</SessionExpiryInSeconds> <ScriptExecution>Allow</ScriptExecution> </UserJourneyBehaviors> <TechnicalProfile Id="PolicyProfile"> <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="riskLevel" /> <OutputClaim ClaimTypeReferenceId="score" /> <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" /> </OutputClaims> <SubjectNamingInfo ClaimType="sub" /> </TechnicalProfile> </RelyingParty>
Integrar com o Azure AD B2C
Adicione os arquivos de política ao Azure AD B2C. Para obter as instruções a seguir, use o diretório com o locatário do Azure AD B2C.
- Entre no portal do Azure como pelo menos Administrador de Políticas do IEF B2C do locatário do Azure AD B2C.
- Na barra de ferramentas do portal, selecione Diretórios + assinaturas.
- Na página Configurações do Portal , Diretórios + assinaturas, na lista Nome do diretório, localize o diretório B2C do Azure AD.
- Selecione Trocar.
- No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
- Procure e selecione Azure AD B2C.
- Navegue até Azure AD B2C>Identity Experience Framework.
- Carregue os arquivos de política para o locatário.
Testar a solução
Para obter as instruções a seguir, consulte Tutorial: Registrar um aplicativo Web no Azure Ative Directory B2C
Registre um aplicativo fictício que redireciona para JWT.MS.
Em Identity Experience Framework, selecione a política que você criou.
Na janela de política, selecione o aplicativo de JWT.MS fictício
Selecione Executar agora.
Execute um fluxo de inscrição e crie uma conta.
O token devolvido ao JWT.MS tem declarações para riskLevel e score multiplicadas por duas.
Use o exemplo a seguir.
{ "typ": "JWT", "alg": "RS256", "kid": "_keyid" }.{ "exp": 1615872580, "nbf": 1615868980, "ver": "1.0", "iss": "https://tenant.b2clogin.com/12345678-1234-1234-1234-123456789012/v2.0/", "sub": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "aud": "00001111-aaaa-2222-bbbb-3333cccc4444", "acr": "b2c_1a_signup_signin_biocatch_policy", "nonce": "defaultNonce", "iat": 1615868980, "auth_time": 1615868980, "name": "John Smith", "email": "john.smith@contoso.com", "given_name": "John", "family_name": "Smith", "riskLevel": "LOW", "score": 275, "tid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" }.[Signature]
Recursos adicionais
- Visão geral da política personalizada do Azure AD B2C
- Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure AD B2C