Tutorial: Configurar o ID IDEMIA Mobile com o Azure Active Directory B2C
Antes de começar
O Azure Active Directory B2C (Azure AD B2C) tem dois métodos para definir a interação dos utilizadores com aplicações: fluxos de utilizador predefinidos ou políticas personalizadas configuráveis. Veja Descrição geral dos fluxos de utilizador e das políticas personalizadas
Integrar Azure AD B2C com o ID IDEMIA Mobile
O IDEMIA fornece serviços de autenticação biométrica, como o ID facial e a impressão digital, o que reduz a fraude e a reutilização de credenciais. Com o ID móvel, os cidadãos beneficiam de um ID digital fidedigno emitido pelo governo, como complemento ao seu ID físico. O ID móvel verifica a identidade com um PIN, um ID de toque ou um ID facial auto-selecionado. Os cidadãos controlam as suas identidades partilhando as informações necessárias para uma transação. Muitos departamentos estatais de veículos a motor (DMVs) utilizam o ID móvel.
Para saber mais, aceda a idemia.com: IDEMIA
Descrição do cenário
A integração do ID móvel inclui os seguintes componentes:
-
Azure AD B2C – servidor de autorização que verifica as credenciais do utilizador
- Também é conhecido como o fornecedor de identidade (IdP)
- IDEMIA Mobile ID – fornecedor openID Connect (OIDC) configurado como um fornecedor externo Azure AD B2C
-
Aplicação IDEMIA Mobile ID – uma versão digital de uma carta de condução ou ID emitido pelo estado numa aplicação no telemóvel
- Veja ID móvel do IDEMIA
O ID móvel é um documento de identificação digitalizado, um token de identidade móvel portátil que as DMVs utilizam para verificar identidades individuais. O ID digitalizado assinado é armazenado em telemóveis de utilizador como uma identidade no edge. As credenciais assinadas facilitam o acesso a serviços de identidade, como comprovativo de idade, conhecimentos financeiros do cliente, acesso à conta, etc.
O diagrama seguinte ilustra os fluxos de utilizador de inscrição e início de sessão com o ID móvel.
- O utilizador visita a página de início de sessão do Azure AD B2C (a entidade de resposta), com o respetivo dispositivo e ID móvel, para realizar uma transação.
- Azure AD B2C efetua uma verificação de ID. Redireciona o utilizador para o router IDEMIA com um fluxo de código de autorização OIDC.
- O router envia um desafio biométrico para a aplicação móvel do utilizador com detalhes do pedido de autenticação e autorização.
- Consoante a segurança, poderá ser pedido ao utilizador para fornecer mais detalhes: introduzir um PIN, tirar uma selfie em direto ou ambos.
- A resposta de autenticação fornece provas de posse, presença e consentimento. A resposta regressa ao router.
- O router verifica as informações do utilizador e responde ao Azure AD B2C com o resultado.
- É concedido ou negado acesso ao utilizador.
Ativar id móvel
Para começar, aceda à página idemia.com Entrar em contacto para pedir uma demonstração. No campo de texto do formulário de pedido, indique o seu interesse na integração do Azure AD B2C.
Integrar o ID Móvel no Azure AD B2C
Utilize as secções seguintes para preparar e executar processos de integração.
Pré-requisitos
Para começar, precisa do seguinte:
Acesso a utilizadores com um IDEMIA, credencial de ID móvel (mID) emitida pelo estado dos EUA
- Em alternativa, durante a fase de teste, a aplicação de demonstração mID do IDEMIA
Uma subscrição do Azure
- Se não tiver uma, obtenha uma conta gratuita do Azure
Um inquilino Azure AD B2C associado à subscrição do Azure
A aplicação Web empresarial registada num inquilino Azure AD B2C
- Para testar, configurar https://jwt.ms, uma aplicação Web da Microsoft com conteúdo de token descodificado
Nota
O conteúdo do token não sai do browser.
Submeter uma aplicação de entidade confiadora para mID
Durante a integração do ID móvel, são fornecidas as seguintes informações.
Propriedade | Descrição |
---|---|
Nome da Aplicação | Azure AD B2C ou outro nome de aplicação |
Client_ID | O identificador exclusivo do fornecedor de identidade (IdP) |
Segredo do Cliente | Palavra-passe que a aplicação da entidade confiadora utiliza para autenticar com o IdP do IDEMIA |
Ponto final de metadados | Um URL a apontar para um documento de configuração do emissor de tokens, também conhecido como um ponto final de configuração bem conhecido do OpenID |
URIs de Redirecionamento | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp Por exemplo, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp Se utilizar um domínio personalizado, introduza https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp . |
Publicar URIs de redirecionamento de início de sessão | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout Enviar um pedido de terminar sessão. |
Nota
Precisará do ID de Cliente e do Segredo do Cliente mais tarde para configurar o IdP no Azure AD B2C.
Criar uma chave de política
Armazene o Segredo do Cliente IDEMIA anotado no seu inquilino Azure AD B2C. Para obter as seguintes instruções, utilize o diretório com o seu inquilino Azure AD B2C.
- Inicie sessão no portal do Azure.
- Na barra de ferramentas do portal, selecione Diretórios + subscrições.
- Na página Definições do portal, Diretórios + subscrições, na lista Nome do diretório, localize a sua Azure AD diretório B2C
- Selecione Mudar.
- No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
- Procure e selecione Azure AD B2C.
- Na página Descrição geral , selecione Identity Experience Framework.
- Selecione Chaves de Política.
- Selecione Adicionar.
- Em Opções, selecione Manual.
- Introduza um Nome para a chave de política. Por exemplo,
IdemiaAppSecret
. O prefixoB2C_1A_
é adicionado ao nome da chave. - Em Segredo, introduza o Segredo do Cliente que anotou.
- Em Utilização da chave, selecione Assinatura.
- Selecione Criar.
Configurar o ID móvel como um IdP Externo
Para permitir que os utilizadores iniciem sessão com o ID móvel, defina o IDEMIA como um fornecedor de afirmações. Esta ação garante Azure AD B2C comunica através de um ponto final, que fornece afirmações Azure AD B2C utiliza para verificar a autenticação do utilizador com biometria.
Para definir o IDEMIA como um fornecedor de afirmações, adicione-o ao elemento ClaimsProvider no ficheiro de extensão de política.
<TechnicalProfile Id="Idemia-Oauth2">
<DisplayName>IDEMIA</DisplayName>
<Description>Login with your IDEMIA identity</Description>
<Protocol Name="OAuth2" />
<Metadata>
<Item Key="METADATA">https://idp.XXXX.net/oxauth/.well-known/openid-configuration</Item>
<!-- Update the Client ID below to the Application ID -->
<Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
<Item Key="response_types">code</Item>
<Item Key="scope">openid id_basic mt_scope</Item>
<Item Key="response_mode">form_post</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>
<Item Key="ClaimsEndpoint">https://idp.XXXX.net/oxauth/restv1/userinfo</Item>
<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
</Metadata>
<CryptographicKeys>
<Key Id="client_secret" StorageReferenceId="B2C_1A_IdemiaAppSecret" />
</CryptographicKeys>
<InputClaims>
<InputClaim ClaimTypeReferenceId="acr" PartnerClaimType="acr_values" DefaultValue="loa-2" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
<OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName1" />
<OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="lastName1" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="idemia" />
<OutputClaim ClaimTypeReferenceId="documentId" />
<OutputClaim ClaimTypeReferenceId="address1" />
</OutputClaims>
<OutputClaimsTransformations>
<OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
<OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
<OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
</TechnicalProfile>
Defina client_id para o ID da aplicação a partir do registo da aplicação.
Propriedade | Descrição |
---|---|
Âmbito | Para o OpenID Connect (OIDC), o requisito mínimo é definir o parâmetro de âmbito como openid. Acrescente mais âmbitos como uma lista delimitada por espaço. |
redirect_uri | Esta localização é onde o agente de utilizador envia o código de autorização para Azure AD B2C. |
response_type | Para o fluxo de código de autorização, selecione código |
acr_values | Este parâmetro controla os métodos de autenticação que o utilizador tem de executar durante a autenticação. |
Selecione um dos seguintes valores:
Valor do parâmetro | Efeito no processo de autenticação do utilizador |
---|---|
loa-2 |
Apenas autenticação multifator Microsoft Entra baseada em criptofator |
loa-3 |
MFA baseada em criptografia, além de outro fator |
loa-4 |
MFA baseada em criptografia, além de que o utilizador executa o PIN e a autenticação biométrica |
O ponto final /userinfo fornece as afirmações para os âmbitos pedidos no pedido de autorização. Para o <mt_scope>, existem afirmações como Nome Próprio, Apelido e Número de Carta de Condução, entre outros itens. As afirmações definidas para um âmbito são publicadas na secção scope_to_claims_mapping da API de deteção. Azure AD B2C solicita afirmações do ponto final de afirmações e devolve-as no elemento OutputClaims. Poderá ter de mapear o nome da afirmação na sua política para o nome no IdP. Defina o tipo de afirmação no elemento ClaimSchema:
<ClaimType Id="documentId">
<DisplayName>documentId</DisplayName>
<DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
<DisplayName>address</DisplayName>
<DataType>string</DataType>
</ClaimType>
Adicionar um percurso de utilizador
Para estas instruções, o IdP está configurado, mas não está em nenhuma página de início de sessão. Se não tiver um percurso de utilizador personalizado, copie um percurso de utilizador de modelo.
- A partir do pacote de arranque, abra o
TrustFrameworkBase.xml
ficheiro. - Localize e copie o conteúdo do
UserJourneys
elemento, que incluiID=SignUpOrSignIn
. - Abra o
TrustFrameworkExtensions.xml
. - Localize o elemento UserJourneys . Se não existir nenhum elemento, adicione um.
- Cole o conteúdo do elemento UserJourney como subordinado do elemento UserJourneys.
- Mude o nome do ID de percurso do utilizador. Por exemplo,
ID=CustomSignUpSignIn
.
Adicionar o IdP a um percurso do utilizador
Se existir um percurso de utilizador, adicione o novo IdP ao mesmo. Primeiro, adicione um botão de início de sessão e, em seguida, ligue-o a uma ação, que é o perfil técnico que criou.
- No percurso do utilizador, localize o elemento do passo de orquestração com Type=
CombinedSignInAndSignUp
ou Type=ClaimsProviderSelection
. Normalmente, é o primeiro passo de orquestração. O elemento ClaimsProviderSelections tem uma lista de IdP com a qual os utilizadores iniciam sessão. A ordem dos controlos de elementos é a ordem dos botões de início de sessão que o utilizador vê. - Adicione um elemento ClaimsProviderSelection XML.
- Defina o valor TargetClaimsExchangeId como um nome amigável.
- Adicione um elemento ClaimsExchange .
- Defina o ID para o valor do ID de troca de afirmações de destino.
- Atualize o valor TechnicalProfileReferenceId para o ID do perfil técnico que criou.
O XML seguinte demonstra os dois primeiros passos de orquestração de um percurso de utilizador com o IdP:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="IdemiaExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="IdemiaExchange" TechnicalProfileReferenceId="Idemia-Oauth2" />
</ClaimsExchanges>
</OrchestrationStep>
Configurar a política da entidade confiadora
A política da entidade confiadora, por exemplo ,SignUpSignIn.xml, especifica o percurso do utilizador que o Azure AD B2C executa.
- Localize o elemento DefaultUserJourney na entidade confiadora.
- Atualize o ReferenceId para corresponder ao ID de percurso do utilizador, no qual adicionou o IdP.
No exemplo seguinte, para o percurso do CustomSignUpOrSignIn
utilizador, o ReferenceId está definido como CustomSignUpOrSignIn
.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Carregar a política personalizada
Para obter as seguintes instruções, utilize o diretório com o seu inquilino Azure AD B2C.
Inicie sessão no portal do Azure.
Na barra de ferramentas do portal, selecione Diretórios + subscrições.
Na página Definições do portal, Diretórios + subscrições, na lista Nome do diretório, localize o Azure AD diretório B2C.
Selecione Mudar.
Na portal do Azure, procure e selecione Azure AD B2C.
Em Políticas, selecione Identity Experience Framework.
Selecione Carregar Política Personalizada.
Carregue os dois ficheiros de política que alterou pela seguinte ordem:
- A política de extensão, por exemplo
TrustFrameworkExtensions.xml
- A política da entidade confiadora, como
SignUpSignIn.xml
- A política de extensão, por exemplo
Testar a política personalizada
- Selecione a política da entidade confiadora, por exemplo
B2C_1A_signup_signin
. - Em Aplicação, selecione uma aplicação Web que tenha registado.
-
https://jwt.ms
aparece para URL de Resposta. - Selecione Executar agora.
- Na página de inscrição ou início de sessão, selecione IDEMIA.
- O browser é redirecionado para
https://jwt.ms
. Veja o conteúdo do token devolvido pelo Azure AD B2C.
Saiba mais: Tutorial: Registar uma aplicação Web no Azure AD B2C