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.
Aprenda a integrar a autenticação do Microsoft Entra ID (Azure AD B2C) com o Asignio. Com essa integração, forneça aos clientes uma experiência de autenticação sem senha, biométrica flexível e multifator. Asignio usa assinatura patenteada Asignio e verificação facial ao vivo para autenticação do usuário. A assinatura biométrica alterável ajuda a reduzir senhas, fraudes, phishing e reutilização de credenciais por meio da autenticação omnichannel.
Antes de começar
Escolha um seletor de tipo de política para indicar a configuração do tipo de política. O Azure AD B2C tem dois métodos para definir como os usuários interagem com seus aplicativos:
- Fluxos de utilizador predefinidos
- Políticas personalizadas configuráveis
As etapas neste artigo diferem para cada método.
Saiba mais:
- Visão geral de fluxos de usuários e políticas personalizadas
- Visão geral da política personalizada do Azure AD B2C
Pré-requisitos
Uma assinatura do Azure.
Se você não tiver ativado, obtenha uma conta gratuita do Azure
Um locatário do Azure AD B2C vinculado à assinatura do Azure
Consulte Tutorial: Criar um tenant B2C do Azure Active Directory
Um ID de Cliente Asignio e um Segredo do Cliente emitidos pela Asignio.
Estes tokens são obtidos através do registo das suas aplicações móveis ou web com a Asignio.
Para políticas personalizadas
Tutorial completo: Criar fluxos de usuário e políticas personalizadas no Azure AD B2C
Descrição do cenário
Esta integração inclui os seguintes componentes:
- Azure AD B2C - servidor de autorização que verifica as credenciais do usuário
- Aplicações Web ou móveis - para proteger com Asignio MFA
- Aplicação web Asignio - recolha biométrica de assinaturas no dispositivo táctil do utilizador
O diagrama a seguir ilustra a implementação.
- O usuário abre a página de entrada do Azure AD B2C em seu aplicativo móvel ou Web e, em seguida, entra ou se inscreve.
- O Azure AD B2C redireciona o usuário para Asignio usando uma solicitação OpenID Connect (OIDC).
- O utilizador é redirecionado para a aplicação web Asignio para iniciar sessão através de biometria. Se o usuário não registrou sua assinatura Asignio, ele pode usar um SMS One-Time-Password (OTP) para autenticar. Após a autenticação, o usuário recebe um link de registro para criar sua assinatura Asignio.
- O utilizador autentica-se com a assinatura Asignio e verificação facial, ou verificação de voz e facial.
- A resposta do desafio vai para Asignio.
- Asignio retorna a resposta OIDC para entrar no Azure AD B2C.
- O Azure AD B2C envia uma solicitação de verificação de autenticação para Asignio para confirmar o recebimento dos dados de autenticação.
- O usuário recebe ou nega acesso ao aplicativo.
Configurar um aplicativo com Asignio
A configuração de uma aplicação com o Asignio é feita no site de Administração de Parceiros do Asignio.
- Para solicitar acesso para sua organização, vá para asignio.com página Administração de parceiros Asignio .
- Inicie sessão com as credenciais na Administração de Parceiros Asignio.
- Crie um registro para o aplicativo Azure AD B2C usando seu locatário do Azure AD B2C. Quando você usa o Azure AD B2C com o Asignio, o Azure AD B2C gerencia aplicativos conectados. Os aplicativos Asignio representam aplicativos no portal do Azure.
- No site de Administração de Parceiros Asignio, gere uma ID do Cliente e um Segredo do Cliente.
- Anote e armazene a ID do Cliente e o Segredo do Cliente. Você os usa mais tarde. Asignio não armazena segredos do cliente.
- Insira o URI de redirecionamento em seu site para o qual o usuário retornará após a autenticação. Use o seguinte padrão de URI.
[https://<your-b2c-domain>.b2clogin.com/<your-b2c-domain>.onmicrosoft.com/oauth2/authresp].
- Carregue o logótipo de uma empresa. Ele aparece na autenticação Asignio quando os usuários fazem login.
Registrar um aplicativo Web no Azure AD B2C
Registre aplicativos em um locatário que você gerencia e, em seguida, eles podem interagir com o Azure AD B2C.
Saiba mais: Tipos de aplicativos que podem ser usados no Ative Directory B2C
Para este tutorial, você está registrando https://jwt.ms, um aplicativo Web da Microsoft com conteúdo de token decodificado que não sai do seu navegador.
Registar uma aplicação Web
Conclua as etapas no artigo Tutorial: Registrar um aplicativo Web no Azure Ative Directory B2C .
Configurar o Asignio como um provedor de identidade no Azure AD B2C
Para obter as instruções a seguir, use o locatário do Microsoft Entra com a assinatura do Azure.
- Entre no portal do Azure como pelo menos Administrador de Políticas IEF B2C do locatário do Azure AD B2C.
- Na barra de ferramentas do portal do Azure, selecione Diretórios + assinaturas.
- Configurações do Portal | Diretórios + assinaturas, na lista Nome do diretório , localize o diretório Microsoft Entra.
- Selecione Trocar.
- No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
- Procure e selecione Azure AD B2C.
- No portal do Azure, procure e selecione Azure AD B2C.
- No menu à esquerda, selecione Provedores de identidade.
- Selecione Novo Provedor OpenID Connect.
- Selecione tipo de provedor de identidade>OpenID Connect.
- Em Nome, insira o login Asignio ou um nome que você escolher.
- Para URL de metadados, digite
https://authorization.asignio.com/.well-known/openid-configuration. - Em ID do cliente, insira a ID do cliente gerada.
- Em Segredo do Cliente, insira o Segredo do Cliente gerado.
- Para Escopo, use o perfil de e-mail openid.
- Para Tipo de resposta, use código.
- Para o modo de resposta, use query.
- Utilize a indicação de domínio
https://asignio.com. - Selecione OK.
- Selecione Mapeie as declarações deste provedor de identidade.
- Para a identificação de utilizador , use sub.
- Para Nome de Exibição, utilize nome.
- Para Nome Próprio, usar nome_próprio.
- Para Sobrenome, use nome_familia.
- Para Email, use email.
- Selecione Guardar.
Criar uma política de fluxo de usuário
- Em seu locatário do Azure AD B2C, em Políticas, selecione Fluxos de usuário.
- Selecione Novo fluxo de utilizador.
- Selecione o tipo de fluxo de utilizador Inscrever-se e iniciar sessão.
- Selecione Versão recomendada.
- Selecione Criar.
- Insira um nome de fluxo de usuário, como
AsignioSignupSignin. - Em Provedores de identidade, para Contas locais, selecione Nenhuma. Esta ação desativa a autenticação de e-mail e senha.
- Em Provedores de identidade personalizados, selecione o provedor de identidade Asignio criado.
- Selecione Criar.
Teste seu fluxo de usuários
- Em seu locatário do Azure AD B2C, selecione Fluxos de usuário.
- Selecione o fluxo de usuário criado.
- Em Aplicativo, selecione o aplicativo Web que você registrou. O URL de resposta é
https://jwt.ms. - Selecione Executar fluxo de utilizador.
- O navegador é redirecionado para a página de login Asignio.
- É apresentado um ecrã de início de sessão.
- No fundo, selecione Autenticação Asignio.
Se você tiver uma assinatura Asignio, conclua o prompt para autenticar. Caso contrário, forneça o número de telefone do dispositivo para autenticação via SMS OTP. Use o link para registrar sua assinatura Asignio.
- O navegador é redirecionado para
https://jwt.ms. O conteúdo do token retornado pelo Azure AD B2C aparece.
Criar chave de política Asignio
- Armazene o Segredo de Cliente gerado no locatário do Azure AD B2C.
- Inicie sessão no portal Azure.
- Na barra de ferramentas do portal, selecione o Diretórios + Subscrições.
- Configurações do Portal | Diretórios + assinaturas, na lista Nome do diretório , localize seu diretório do Azure AD B2C.
- Selecione Trocar.
- No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
- Procure e selecione Azure AD B2C.
- Na página Visão geral, selecione Identity Experience Framework.
- Selecione Chaves de política.
- Selecione Adicionar.
- Em Opções, selecione Manual.
- Insira uma chave de política Nome para a chave de política. O prefixo
B2C_1A_é anexado ao nome da chave. - Em Segredo, insira o Segredo do Cliente que você anotou.
- Para o uso da chave , selecione Assinatura .
- Selecione Criar.
Configurar Asignio como um provedor de identidade
Sugestão
Antes de começar, verifique se a política do Azure AD B2C está configurada. Caso contrário, siga as instruções em Pacote inicial de política personalizada.
Para que os utilizadores entrem com o Asignio, defina o Asignio como um fornecedor de reivindicações com o qual o Azure AD B2C se comunica através de um endpoint. O ponto de extremidade fornece declarações que o Azure AD B2C usa para verificar a autenticação do usuário usando a ID digital no dispositivo.
Adicionar Asignio como um provedor de declarações
Obtenha os pacotes iniciais de políticas personalizadas do GitHub e, em seguida, atualize os arquivos XML no pacote inicial LocalAccounts com seu nome de locatário do Azure AD B2C:
Descarregue o ficheiro zip active-directory-b2c-custom-policy-starterpack ou clone o repositório:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpackNos arquivos no diretório LocalAccounts , substitua a cadeia de caracteres
yourtenantpelo nome do locatário do Azure AD B2C.Abra o LocalAccounts/ TrustFrameworkExtensions.xml.
Encontre o elemento ClaimsProviders. Se não houver um, adicione-o sob o elemento raiz,
TrustFrameworkPolicy.Adicione um novo ClaimsProvider semelhante ao exemplo a seguir:
<ClaimsProvider> <Domain>contoso.com</Domain> <DisplayName>Asignio</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Asignio-Oauth2"> <DisplayName>Asignio</DisplayName> <Description>Login with your Asignio account</Description> <Protocol Name="OAuth2" /> <Metadata> <Item Key="ProviderName">authorization.asignio.com</Item> <Item Key="authorization_endpoint">https://authorization.asignio.com/authorize</Item> <Item Key="AccessTokenEndpoint">https://authorization.asignio.com/token</Item> <Item Key="ClaimsEndpoint">https://authorization.asignio.com/userinfo</Item> <Item Key="ClaimsEndpointAccessTokenName">access_token</Item> <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item> <Item Key="HttpBinding">POST</Item> <Item Key="scope">openid profile email</Item> <Item Key="UsePolicyInRedirectUri">0</Item> <!-- Update the Client ID below to the Asignio Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item> <!-- trying to add additional claim--> <!--Insert b2c-extensions-app application ID here, for example: 00001111-aaaa-2222-bbbb-3333cccc4444--> <Item Key="00001111-aaaa-2222-bbbb-3333cccc4444"></Item> <!--Insert b2c-extensions-app application ObjectId here, for example: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb--> <Item Key="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"></Item> <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. --> <!--<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00001111-aaaa-2222-bbbb-3333cccc4444</Item>--> <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. --> <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_AsignioSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" DefaultValue="https://authorization.asignio.com" /> <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>Defina client_id com o ID do aplicativo Asignio que você anotou.
Atualize client_secret seção com a chave de política que você criou. Por exemplo:
B2C_1A_AsignioSecret<Key Id="client_secret" StorageReferenceId="B2C_1A_AsignioSecret" />Salve as alterações.
Adicionar uma jornada do utilizador
O provedor de identidade não está nas páginas de login.
- Se você tiver uma jornada de usuário personalizada, continue para Configurar a política do partido confiável; caso contrário, copie uma jornada de usuário a partir de um modelo.
- No pacote inicial, abra o LocalAccounts/ TrustFrameworkBase.xml.
- Localize e copie o conteúdo do elemento UserJourney que inclui
Id=SignUpOrSignIn. - Abra o LocalAccounts/ TrustFrameworkExtensions.xml.
- Localize o elemento UserJourneys. Se não houver, adicione um.
- Cole o conteúdo do elemento UserJourney como filho do elemento UserJourneys.]
- Renomeie o ID da jornada do utilizador. Por exemplo,
Id=AsignioSUSI.
Saiba mais: Jornadas do usuário
Adicionar o provedor de identidade a um percurso do utilizador
Adicione o novo provedor de identidade à jornada do usuário.
- Encontre o elemento da etapa de orquestração que inclui
Type=CombinedSignInAndSignUpouType=ClaimsProviderSelectionna 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. - Adicione um ClaimsProviderSelection elemento XML.
- Defina o valor de TargetClaimsExchangeId como um nome amigável.
- Adicione um elemento ClaimsExchange .
- Defina o Id como o valor do ID de troca de declarações de destino.
- Atualize o valor de TechnicalProfileReferenceId para a ID do perfil técnico que você criou.
O XML a seguir demonstra a orquestração da jornada do usuário com o provedor de identidade.
<UserJourney Id="AsignioSUSI">
<OrchestrationSteps>
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
<ClaimsProviderSelection TargetClaimsExchangeId="AsignioExchange" />
<ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
</ClaimsProviderSelections>
<ClaimsExchanges>
<ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- Check if the user has selected to sign in using one of the social providers -->
<OrchestrationStep Order="2" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="AsignioExchange" TechnicalProfileReferenceId="Asignio-Oauth2" />
<ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="3" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>authenticationSource</Value>
<Value>localAccountAuthentication</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadUsingAlternativeSecurityId" TechnicalProfileReferenceId="AAD-UserReadUsingAlternativeSecurityId-NoError" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- Show self-asserted page only if the directory does not have the user account already (i.e. we do not have an objectId). This can only happen when authentication happened using a social IDP. If local account was created or authentication done using ESTS in step 2, then an user account must exist in the directory by this time. -->
<OrchestrationStep Order="4" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- This step reads any user attributes that we may not have received when authenticating using ESTS so they can be sent in the token. -->
<OrchestrationStep Order="5" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>authenticationSource</Value>
<Value>socialIdpAuthentication</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="AADUserReadWithObjectId" TechnicalProfileReferenceId="AAD-UserReadUsingObjectId" />
</ClaimsExchanges>
</OrchestrationStep>
<!-- The previous step (SelfAsserted-Social) could have been skipped if there were no attributes to collect from the user. So, in that case, create the user in the directory if one does not already exist (verified using objectId which would be set from the last step if account was created in the directory. -->
<OrchestrationStep Order="6" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>objectId</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId" />
</ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="JwtIssuer" />
</OrchestrationSteps>
<ClientDefinition ReferenceId="DefaultWeb" />
</UserJourney>
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.
- Na parte de confiança, localize o elemento DefaultUserJourney.
- 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 AsignioSUSI utilizador, o ReferenceId é configurado como AsignioSUSI:
<RelyingParty>
<DefaultUserJourney ReferenceId="AsignioSUSI" />
<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="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
<OutputClaim ClaimTypeReferenceId="correlationId" DefaultValue="{Context:CorrelationId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
Carregar a política personalizada
- Inicie sessão no portal Azure.
- Na barra de ferramentas do portal, selecione o Diretórios + Subscrições.
- Configurações do Portal | Diretórios + assinaturas, na lista Nome do diretório , localize seu diretório do Azure AD B2C.
- Selecione Trocar.
- No portal do Azure, procure e selecione Azure AD B2C.
- Em Políticas, selecione Identity Experience Framework.
- Selecione Carregar política personalizada.
- Carregue os dois arquivos de política alterados na seguinte ordem:
- Política de extensão, por exemplo
TrustFrameworkExtensions.xml - Política de parte confiável, como
SignUpOrSignin.xml
Testar sua política personalizada
- Em seu locatário do Azure AD B2C e em Políticas, selecione Identity Experience Framework.
- Em Políticas personalizadas, selecione AsignioSUSI.
- Em Aplicativo, selecione o aplicativo Web que você registrou. O URL de resposta é
https://jwt.ms. - Selecione Executar agora.
- O navegador é redirecionado para a página de login Asignio.
- É apresentado um ecrã de início de sessão.
- No fundo, selecione Autenticação Asignio.
Se tiver uma Assinatura Asignio, ser-lhe-á pedido que se autentique com a sua Assinatura Asignio. Caso contrário, forneça o número de telefone do dispositivo para autenticação via SMS OTP. Use o link para registrar sua assinatura Asignio.
- O navegador é redirecionado para
https://jwt.ms. O conteúdo do token retornado pelo Azure AD B2C aparece.
Próximos passos
- Soluções e treinamento para o Azure Ative Directory B2C
- Faça perguntas sobre Estouro de pilha
- Exemplos do Azure AD B2C
- YouTube: Série Identidade Azure AD B2C
- Visão geral da política personalizada do Azure AD B2C
- Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure Ative Directory B2C