Compartilhar via


Integrar Aplicativo de Verificação do Twilio com o Azure Active Directory B2C

Neste passo a passo, saiba como integrar um aplicativo de pagamento online de exemplo no Azure AD B2C (Azure Active Directory B2C) com a API de Verificação do Twilio. Ao usar o Aplicativo de Verificação do Twilio, os clientes do Azure AD B2C podem atender aos requisitos da transação PSD2 (Diretiva de serviços de pagamento 2) por meio de vinculação dinâmica e autenticação de cliente forte.

Pré-requisitos

Para começar, você precisará de:

Descrição do cenário

Os componentes a seguir constituem a solução Twilio:

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

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

  • 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.

    twilio flow

Etapa Descrição
1 O usuário inicia a entrada ou a inscrição no aplicativo de demonstração do PSD2. O usuário é autenticado por meio da política de entrada e inscrição combinada do Azure AD B2C. Um token é devolvido para o aplicativo. Na inscrição, o número de telefone do usuário é verificado usando o 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 a PolicyId determinar se o usuário já foi autenticado por meio de uma política personalizada Step-Up.
3 O aplicativo registra o valor de transação e o favorecido “$50,00 e Fulano” 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 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 verificando o ponto de extremidade do OpenID Connect /.well-known de aplicativos. Depois de verificar, ele extrai as declarações desse token, notadamente, amount e payee. O usuário verá uma página para verificar seu número de telefone celular via mensagem de texto.
5 O usuário solicita a verificação de seu número de telefone via mensagem de texto e o Azure AD B2C faz uma solicitação da API REST para o ponto de extremidade da API de verificação do Twilio. Ele também envia a transação amount e payee como parte do processo PSD2 para gerar a OTP (senha de uso único). O Twilio envia uma mensagem de texto para o número de telefone registrado do usuário.
6 O usuário insere a OTP recebida em sua mensagem de texto e a envia para o Azure AD B2C. O Azure AD B2C faz uma solicitação da API com essa OTP para a API de Verificação do Twilio para verificar se a OTP está correta. Enfim, um token é emitido para o aplicativo, com uma nova PolicyId, o que significa que o usuário concluiu sua autenticação.

Integração com o Twilio

  1. Obter uma conta de avaliação no Twilio.

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

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

Configurar o aplicativo de demonstração do 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="d6f33888-0000-4c1f-9b50-1590f171fc70" />
    <add key="ida:ClientId" value="6bd98cc8-0000-446a-a05e-b5716ef2651b" />
    <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 token de ID e o ponto de extremidade 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="4F39D6014818082CBB763E5BA5F230E545212E89" />
      <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 seu registro de aplicativo Azure AD B2C adicionando uma URL de resposta equivalente à URL na qual o aplicativo está hospedado.

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

  6. Localize o perfil técnico da API REST do 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. Localize os perfis técnicos da API REST do Twilio,TwilioRestAPI-Verify-Step1 e TwilioRestAPI-Verify-Step2 e atualize o ServiceURL com seu AccountSID do Twilio.

Integrar ao Azure AD B2C

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

  1. Entre no portal do Azure como administrador global do locatário 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, procure e selecione Azure AD B2C.
  4. Navegue até Azure AD B2C>chaves de política> do Identity Experience Framework.
  5. Adicione uma nova chave com o nome B2cRestTwilioClientId. Selecionemanual e forneça o valor de AccountSID do Twilio.
  6. Adicione uma nova chave com o nome B2cRestTwilioClientSecret. Selecionemanual e forneça o valor de AUTH TOKEN do Twilio.
  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 Envio de Dinheiro.

Próximas etapas

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