Integrando o aplicativo Twilio Verify com o Azure Ative Directory B2C
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á:
- Uma subscrição do Azure. Se não tiver uma subscrição, pode obter uma conta gratuita.
- Um locatário do Azure AD B2C vinculado à sua assinatura do Azure.
- Uma conta de teste em Twilio.
Descrição do cenário
Os seguintes componentes compõem a solução Twilio:
Aplicativo Web de demonstração .NET PSD2, que fornece a capacidade de entrar ou se inscrever e executar 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
o ..NET Web App, que hospeda um ponto de extremidade OpenIdConnect para permitir a validação de um
.well-known
id_token_hint
arquivo .
Passo | Description |
---|---|
5 | 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 o PolicyId para determinar se o usuário já se autenticou por meio de uma política personalizada do 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. Esse token é chamado de e id_token_hint 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 ao Twilio. |
4 | O Azure AD B2C verifica a assinatura do id_token_hint verificando o ponto de extremidade OpenId Connect dos aplicativos /.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 usuário solicita para verificar seu número de telefone via 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 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
Obtenha uma conta de avaliação na Twilio.
Compre um número de telefone no Twilio, conforme descrito neste artigo
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
Abra a solução B2C-WebAPI-DotNet e substitua os seguintes valores por seus próprios valores específicos do 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/" />
O aplicativo Web também hospeda o gerador de dicas 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 no seu certificado no web.config:
<add key="ida:SigningCertThumbprint" value="4F39D6014818082CBB763E5BA5F230E545212E89" /> <add key="ida:SigningCertAlgorithm" value="RS256" />
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.
Atualize seu registro de aplicativo do Azure AD B2C adicionando uma URL de resposta equivalente à URL na qual o aplicativo está hospedado.
Abra os arquivos de política e substitua todas as instâncias de pelo nome do
contoso
locatário.Encontre o perfil técnico da API REST do Twilio Custom-SMS-Enroll. Atualize o com sua conta TwilioSID e o
ServiceURL
número De para o número de telefone comprado.Encontre os perfis técnicos da API REST do Twilio, TwilioRestAPI-Verify-Step1 e TwilioRestAPI-Verify-Step2, e atualize o com sua
ServiceURL
Conta TwilioSID.
Integrar com o Azure AD B2C
Adicione os arquivos de política ao Azure AD B2C:
- Inicie sessão no portal do Azure como administrador global do inquilino do Azure AD B2C.
- Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas .
- Escolha Todos os serviços no canto superior esquerdo do portal do Azure, procure e selecione Azure AD B2C.
- Navegue até Chaves de Política do Azure AD B2C>Identity Experience Framework>.
- Adicione uma nova chave com o nome B2cRestTwilioClientId. Selecione manual e forneça o valor do Twilio AccountSID.
- Adicione uma nova chave com o nome B2cRestTwilioClientSecret. Selecione manual e forneça o valor do Twilio AUTH TOKEN.
- Carregue todos os ficheiros de política para o seu inquilino.
- 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:
Consulte o GitHub para obter exemplos de código de integração do Twilio