Compartilhar via


Tutorial: Configurar a ID Móvel da IDEMIA com o Azure Active Directory B2C

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 em nossas perguntas frequentes.

Antes de começar

O Azure Active Directory B2C (Azure AD B2C) tem dois métodos para definir a interação dos usuários com os aplicativos: fluxos de usuário predefinidos ou políticas personalizadas configuráveis. Veja a visão geral de fluxos de usuário e políticas personalizadas

Integre o Azure AD B2C com a ID móvel da IDEMIA

A IDEMIA fornece serviços de autenticação biométrica, como identificação facial e impressão digital, o que reduz a fraude e a reutilização de credenciais. Com o Mobile ID, os cidadãos se beneficiam de uma identificação digital confiável emitida pelo governo, como complemento à sua identificação física. O Mobile ID verifica a identidade usando um PIN, Touch ID ou Face ID auto-selecionado. Os cidadãos controlam suas identidades compartilhando as informações necessárias para uma transação. Muitos departamentos estaduais de veículos motorizados (DMVs) usam o Mobile ID.

Para saber mais, acesse idemia.com: IDEMIA

Descrição do cenário

A integração do Mobile ID inclui os seguintes componentes:

  • Azure AD B2C – servidor de autorização que verifica as credenciais do usuário
    • Também é conhecido como provedor de identidade (IdP)
  • IDEMIA Mobile ID – Provedor OpenID Connect (OIDC) configurado como um provedor externo do Azure AD B2C
  • Aplicativo IDEMIA Mobile ID - uma versão digital de uma carteira de motorista, ou documento de identidade emitido pelo estado, em um aplicativo em seu telefone

O Mobile ID é um documento de identificação digitalizado, um token de identidade móvel portátil que os DMVs usam para verificar identidades individuais. O ID digitalizado assinado é armazenado nos telefones celulares do usuário como uma identidade periférica. As credenciais assinadas facilitam o acesso a serviços de identidade, como comprovante de idade, conhecimento financeiro, acesso à conta, etc.

O diagrama a seguir ilustra os fluxos de usuário de inscrição e entrada com a ID móvel.

Diagrama dos fluxos de usuário de inscrição e entrada com a ID móvel.

  1. O usuário visita a página de entrada do Azure AD B2C (a parte que responde), com seu dispositivo e ID Móvel, para realizar uma transação.
  2. O Azure AD B2C executa uma verificação de ID. Ele redireciona o usuário para o roteador IDEMIA com um fluxo de código de autorização OIDC.
  3. O roteador envia um desafio biométrico para o aplicativo móvel do usuário com detalhes da solicitação de autenticação e autorização.
  4. Dependendo da segurança, o usuário pode ser solicitado a fornecer mais detalhes: insira um PIN, tire uma selfie ao vivo ou ambos.
  5. A resposta de autenticação fornece prova de posse, presença e consentimento. A resposta retorna ao roteador.
  6. O roteador verifica as informações do usuário e responde ao Azure AD B2C com o resultado.
  7. O usuário recebe ou nega o acesso.

Ativar ID móvel

Para começar, acesse a página idemia.com Entre em contato para solicitar uma demonstração. No campo de texto do formulário de solicitação, indique seu interesse na integração do Azure AD B2C.

Integrar a ID Móvel ao Azure AD B2C

Use as seções a seguir para preparar e executar processos de integração.

Pré-requisitos

Para começar, você precisa do seguinte:

  • Acesso a usuários com uma credencial de Mobile ID (mID) emitida pela IDEMIA, estado dos EUA

    • Ou, durante a fase de teste, o aplicativo de demonstração mID da IDEMIA
  • Uma assinatura do Azure

  • Um cliente do Azure AD B2C vinculado à assinatura Azure

  • Seu aplicativo Web de negócios registrado no locatário do Azure AD B2C

    • Para teste, configure https://jwt.ms, um aplicativo web da Microsoft com conteúdos de tokens decodificados

    Observação

    O conteúdo do token não sai do seu navegador.

Enviar um aplicativo de terceira parte confiável para mID

Durante a integração do Mobile ID, as seguintes informações são fornecidas.

Propriedade Descrição
Nome do aplicativo Azure AD B2C ou outro nome de aplicativo
ID_do_Cliente O identificador exclusivo do provedor de identidade (IdP)
Segredo de Cliente Senha que o aplicativo de terceira parte confiável usa para autenticar com o IDEMIA IdP
Ponto de extremidade de metadados Uma URL que aponta para um documento de configuração do emissor do token, também conhecido como um ponto de extremidade de configuração 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 você usar um domínio personalizado, digite https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp.
URIs de redirecionamento pós-saída https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout
Envie uma solicitação de saída.

Observação

Você precisa da ID do Cliente e do Segredo do Cliente posteriormente para configurar o IdP no Azure AD B2C.

Criar uma chave de política

Armazene o segredo do cliente IDEMIA anotado no seu locatário do Azure AD B2C. Para as instruções a seguir, use o diretório com seu locatário do Azure AD B2C.

  1. Entre no portal do 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
  4. Selecione Alternar.
  5. No canto superior esquerdo do portal do Azure, selecione Todos os serviços.
  6. Pesquise e selecione Azure AD B2C.
  7. Na página Visão geral, selecione Identity Experience Framework.
  8. Selecione Chaves de Política.
  9. Selecione Adicionar.
  10. Para Opções, escolha Manual.
  11. Insira um Nome para a chave de política. Por exemplo, IdemiaAppSecret. O prefixo B2C_1A_ é adicionado ao nome da chave.
  12. Em Segredo, insira o Segredo do Cliente que você anotou.
  13. Para Uso de chave , selecione Assinatura.
  14. Selecione Criar.

Configurar o Mobile ID como um IdP externo

Para permitir que os usuários entrem com o Mobile ID, defina a IDEMIA como um provedor de declarações. Essa ação garante que o Azure AD B2C se comunique por um ponto de extremidade que fornece declarações que o Azure AD B2C usa para verificar a autenticação do usuário com biometria.

Para definir a IDEMIA como um provedor de declarações, adicione-a ao elemento ClaimsProvider no arquivo 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 identificador do aplicativo no registro de aplicativos.

Propriedade Descrição
Scope Para OpenID Connect (OIDC), o requisito mínimo é definir o parâmetro de escopo como openid. Acrescente mais escopos como uma lista delimitada por espaço.
redirect_uri Esse local é onde o agente do usuário envia o código de autorização para o Azure AD B2C.
tipo_de_resposta Para o fluxo do código de autorização, selecione código
acr_values Esse parâmetro controla os métodos de autenticação que o usuário deve executar durante a autenticação.

Selecione um destes valores:

Valor do parâmetro Efeito no processo de autenticação do usuário
loa-2 Somente autenticação multifator Microsoft Entra baseada em criptografia
loa-3 MFA baseado em criptografia, além de outro fator
loa-4 MFA baseada em criptografia, além de o usuário realizar autenticação biométrica e PIN

O ponto de extremidade /userinfo fornece as declarações para os escopos solicitados na solicitação de autorização. Para o <mt_scope>, existem reivindicações como nome, sobrenome e número da carteira de motorista, entre outros itens. As declarações definidas para um escopo são publicadas na seção scope_to_claims_mapping da API de descoberta. O Azure AD B2C solicita declarações do ponto de extremidade de declarações e as retorna no elemento OutputClaims. Pode ser necessário mapear o nome da reivindicação na sua apólice para o nome no IdP. Defina o tipo de declaração no elemento ClaimSchema:

<ClaimType Id="documentId">
     <DisplayName>documentId</DisplayName>
     <DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
     <DisplayName>address</DisplayName>
     <DataType>string</DataType>
</ClaimType>

Adicione um percurso de usuário

Para essas instruções, o IdP está configurado, mas não está em nenhuma página de login. Se você não tiver um percurso personalizado do usuário, copie um modelo de percurso do usuário.

  1. No pacote inicial, abra o TrustFrameworkBase.xml arquivo.
  2. Localize e copie o conteúdo do UserJourneys elemento, que inclui ID=SignUpOrSignIn.
  3. Abra o TrustFrameworkExtensions.xml.
  4. Localize o elemento UserJourneys . Se não houver nenhum elemento, adicione um.
  5. Cole o conteúdo do elemento UserJourney como filho do elemento UserJourneys.
  6. Renomeie a ID do percurso do usuário. Por exemplo, ID=CustomSignUpSignIn.

Adicionar o IdP a um percurso do usuário

Se houver uma jornada do usuário, adicione o novo IdP a ela. Primeiro, adicione um botão de entrada e vincule-o a uma ação, que é o perfil técnico que você criou.

  1. No percurso do usuário, localize o elemento da etapa de orquestração com Type=CombinedSignInAndSignUpou Type=ClaimsProviderSelection. Normalmente é a primeira etapa de orquestração. O elemento ClaimsProviderSelections tem uma lista de IdP com a qual os usuários fazem login. A ordem dos controles de elementos é a ordem dos botões de entrada que o usuário vê.
  2. Adicione um elemento XML ClaimsProviderSelection.
  3. Defina o valor 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 a ID do perfil técnico que você criou.

O XML a seguir demonstra as duas primeiras etapas de orquestração de um percurso do usuário 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 de terceira parte confiável

A política de terceira parte confiável, por exemplo SignUpSignIn.xml, especifica o percurso do usuário que o Azure AD B2C executa.

  1. Encontre o elemento DefaultUserJourney na parte confiável.
  2. Atualize o ReferenceId para corresponder ao ID da jornada do usuário, no qual você adicionou o IdP.

No exemplo a seguir, para o percurso do CustomSignUpOrSignIn usuário, o ReferenceId é definido como CustomSignUpOrSignIn.

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Carregar a política personalizada

Para as instruções a seguir, use o diretório com seu locatário do Azure AD B2C.

  1. Entre no portal do Azure.

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

  3. Nas configurações do Portal, página Diretórios + assinaturas , na lista de nomes do Diretório , localize o diretório do Azure AD B2C.

  4. Selecione Alternar.

  5. No portal do Azure, pesquise e selecione Azure AD B2C.

  6. Em Políticas, selecione Identity Experience Framework.

  7. Selecione Carregar Política Personalizada.

  8. Carregue os dois arquivos de política que você alterou, na seguinte ordem:

    • A política de extensão, por exemplo TrustFrameworkExtensions.xml
    • A política de terceira parte confiável, como SignUpSignIn.xml

Testar sua política personalizada

  1. Selecione a política de terceira parte confiável, por exemplo, B2C_1A_signup_signin.
  2. Para o Aplicativo, selecione um aplicativo Web que você registrou.
  3. https://jwt.msaparece em URL de resposta.
  4. Selecione Executar agora.
  5. Na página de inscrição ou login, selecione IDEMIA.
  6. O navegador é redirecionado para https://jwt.ms. Consulte o conteúdo do token retornado pelo Azure AD B2C.

Saiba mais: Tutorial: Registrar um aplicativo Web no Azure AD B2C

Próximas etapas