Partilhar via


Integrando o aplicativo Twilio Verify com o Azure Ative 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 nas nossas Perguntas Frequentes.

Neste passo a passo, saiba como integrar um aplicativo de pagamento online de exemplo no Azure Ative Directory B2C (Azure AD B2C) com a API de verificação do Twilio. Ao usar o Twilio Verify App, 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á:

Descrição do cenário

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

  • Aplicação web de demonstração .NET PSD2, que permite iniciar sessão ou registar-se, e realizar uma transação fictícia de alto risco.

  • Política combinada de entrada e inscrição do Azure AD B2C.

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

  • .NET Web App, que hospeda um endpoint OpenIdConnect para permitir a validação de um .well-known.

    fluxo de twilio

Passo Descrição
1 O utilizador inicia o início de sessão ou o registo na aplicação PSD2 Demo. O utilizador é autenticado através da política combinada de início de sessão 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 $50,00. O token de acesso atual do usuário é avaliado para que o PolicyId determine 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, $50,00 e John Doe, e gera um token assinado. Este token é chamado de um id_token_hint e contém a reivindicaçã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 ao Twilio.
4 O Azure AD B2C verifica a assinatura do id_token_hint ao consultar o ponto de extremidade OpenId Connect das aplicações /.well-known. Depois de verificar, extrai as declarações deste token, nomeadamente o amount e payee. O usuário verá uma página para verificar seu número de telefone celular via mensagem SMS.
5 O utilizador solicita a verificação do seu número de telefone via mensagem SMS, e o Azure AD B2C faz uma solicitação de API REST para o endpoint da API Twilio Verify. Ele também envia a transação amount e payee como parte do processo PSD2 para gerar o One-Time-Passcode (OTP). 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. Finalmente, um token é emitido para o aplicativo, com um novo PolicyId significando que o usuário intensificou sua autenticação.

A bordo com Twilio

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

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

  3. Navegue até Verificar API no console do Twilio e siga as instruções para criar um serviço e ativar 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 do tenant 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 dicas de token de ID e o endpoint de metadados.

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

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

      <add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <add key="ida:SigningCertAlgorithm" value="RS256" />
      
  3. Carregue o aplicativo de demonstração para seu provedor de hospedagem de escolha. As orientações 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 seu registro de aplicativo do 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 arrendatário.

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

  7. Encontre os perfis técnicos da API REST Twilio, TwilioRestAPI-Verify-Step1 e TwilioRestAPI-Verify-Step2, e atualize o ServiceURL com o seu Twilio AccountSID.

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íticas do IEF B2C do seu locatário do Azure AD B2C.
  2. Se tiver acesso a vários inquilinos, selecione o ícone Definições no menu superior para mudar para o inquilino do Azure AD B2C no menu Diretórios + subscrições.
  3. Escolha Todos os serviços no canto superior esquerdo do portal do Azure, procure e selecione 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. Carregue todos os ficheiros de política para o seu inquilino.
  8. Personalize a cadeia de caracteres na transformação de declarações GenerateOTPMessageEnrol para seu texto SMS de inscrição.

Testar a solução

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

Próximos passos

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