Compartilhar via


Integrando o aplicativo Twilio Verify 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.

Neste passo a passo, saiba como integrar um aplicativo de pagamento online de exemplo no Azure Active Directory B2C (Azure AD B2C) com a API Twilio Verify. Usando o aplicativo Twilio Verify, os clientes do Azure AD B2C podem cumprir os requisitos de transação PSD2 (Diretiva de Serviços de Pagamento 2) por meio de vinculação dinâmica e autenticação forte do cliente.

Pré-requisitos

Para começar, você precisará de:

Descrição do cenário

Os seguintes componentes compõem a solução da Twilio:

  • Aplicativo Web de demonstração do .NET PSD2, que fornece a capacidade de entrar ou se inscrever e executar uma transação fictícia de alto risco.

  • Azure AD B2C combinou a política de autenticação e registro.

  • Política integrada do Azure AD B2C com a API de Verificação do Twilio usando id_token_hint.

  • Aplicativo Web .NET, que hospeda um .well-known ponto de extremidade OpenIdConnect para permitir a validação de um id_token_hint.

    fluxo do Twilio

Passo Descrição
1 O usuário inicia o login ou o cadastro no aplicativo de demonstração do PSD2. O usuário é autenticado por meio da política combinada de entrada e inscrição do Azure AD B2C. Um token é retornado ao aplicativo. Na inscrição, o número de telefone do usuário é verificado usando SMS/Telefone e registrado em sua conta do Azure AD B2C.
2 O usuário inicia uma transação de alto risco, como uma transferência de US$ 50,00. O token de acesso atual do usuário é avaliado para o PolicyId para determinar se o usuário já foi autenticado por meio de uma política personalizada Step-Up.
3 O aplicativo registra o valor da transação e o beneficiário, US$ 50,00 e John Doe, e gera um token assinado. Esse token é chamado de id_token_hint e contém a declaração amount:$500, payee:john doe. O id_token_hint é enviado junto com a solicitação para a política personalizada do Azure AD B2C, que é integrada à Twilio.
4 O Azure AD B2C verifica a assinatura do id_token_hint verificando o ponto de extremidade do OpenID Connect /.well-known de aplicativos. Após a verificação, ele extrai as declarações desse token, notadamente o amount e o payee. O usuário verá uma página para verificar seu número de celular por mensagem SMS.
5 O usuário solicita a verificação de seu número de telefone por meio de mensagem SMS e o Azure AD B2C faz uma solicitação de API REST para o ponto de extremidade da API Twilio Verify. Ele também envia a transação amount e payee como parte do processo PSD2 para gerar a OTP (senha de uso único). A Twilio envia uma mensagem SMS para o número de telefone registrado do usuário.
6 O usuário insere a OTP recebida em sua mensagem SMS e a envia para o Azure AD B2C. O Azure AD B2C faz uma solicitação de API com essa OTP para a API de verificação da Twilio para verificar se a OTP está correta. Por fim, um token é emitido para o aplicativo, com um novo PolicyId significando que o usuário intensificou sua autenticação.

Integração com a Twilio

  1. Obtenha uma conta de avaliação na Twilio.

  2. Compre um número de telefone na Twilio, conforme descrito neste artigo

  3. Navegue até Verify API no console da Twilio e siga as instruções para criar um serviço e habilitar a opção PSD2.

Configurar o aplicativo de demonstração PSD2

  1. Abra a solução B2C-WebAPI-DotNet e substitua os seguintes valores pelos seus próprios valores específicos de locatário no web.config:

    <add key="ida:Tenant" value="yourtenant.onmicrosoft.com" />
    <add key="ida:TenantId" value="aaaabbbb-0000-cccc-1111-dddd2222eeee" />
    <add key="ida:ClientId" value="00001111-aaaa-2222-bbbb-3333cccc4444" />
    <add key="ida:ClientSecret" value="secret" />
    <add key="ida:AadInstance" value="https://yourtenant.b2clogin.com/tfp/{0}/{1}" />
    <add key="ida:RedirectUri" value="https://your hosted psd2 demo app url/" />
    
  2. O aplicativo Web também hospeda o gerador de indicador de token de ID e a interface de metadados.

    • Crie seu certificado de assinatura conforme descrito nesta descrição de exemplo.

    • Atualize as seguintes linhas com base em seu certificado no web.config:

      <add key="ida:SigningCertThumbprint" value="AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Carregue o aplicativo de demonstração para o provedor de hospedagem de sua escolha. As diretrizes para o Serviço de Aplicativo do Azure são fornecidas nesta descrição de exemplo, incluindo instruções para carregar seu certificado.

  4. Atualize o registro do aplicativo Azure AD B2C adicionando uma URL de resposta equivalente à URL na qual o aplicativo está hospedado.

  5. Abra os arquivos de política e substitua todas as instâncias de contoso pelo nome do seu locatário.

  6. Encontre o perfil técnico da API REST da Twilio Custom-SMS-Enroll. Atualize o ServiceURL com seu AccountSID do Twilio e o número De para o número de telefone comprado.

  7. Encontre os perfis técnicos da API REST da Twilio, TwilioRestAPI-Verify-Step1 e TwilioRestAPI-Verify-Step2, e atualize-osServiceURL com o SID da sua conta da Twilio.

Integrar com o Azure AD B2C

Adicione os arquivos de política ao Azure AD B2C:

  1. Entre no portal do Azure como o Administrador de Política IEF B2C do seu locatário do Azure AD B2C.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.
  3. Escolha Todos os serviços no canto superior esquerdo do portal do Azure, pesquise e selecione O Azure AD B2C.
  4. Navegue até Azure AD B2C>Identity Experience Framework>Chaves de política.
  5. Adicione uma nova chave com o nome B2cRestTwilioClientId. Selecione manual e forneça o valor do Twilio AccountSID.
  6. Adicione uma nova chave com o nome B2cRestTwilioClientSecret. Selecione manual e forneça o valor do Twilio AUTH TOKEN.
  7. Carregar todos os arquivos de política para o seu locatário.
  8. Personalize a cadeia de caracteres na transformação de declaração GenerateOTPMessageEnrol para sua mensagem de texto de inscrição.

Testar a solução

  • Navegue até seu aplicativo e teste as ações de entrada, inscrição e Enviar dinheiro.

Próximas etapas

Para obter informações adicionais, examine os seguintes artigos: