Tutorial para configurar o Jumio com o Azure Active Directory B2C
Neste tutorial, saiba como integrar o Azure AD B2C (Azure Active Directory B2C) ao Jumio, um serviço de verificação de ID que permite a verificação de ID automatizada em tempo real para ajudar a proteger os dados do cliente.
Pré-requisitos
Para começar, você precisará de:
Uma assinatura do Azure
- Se não tiver, você pode obter uma conta gratuita do Azure
- Um locatário do Azure AD B2C vinculado à sua assinatura do Azure
Descrição do cenário
A integração do Jumio inclui os seguintes componentes:
- Azure AD B2C – o servidor de autorização que verifica as credenciais do usuário, também conhecido como IdP (provedor de identidade)
- Jumio – verifica os detalhes da ID do usuário
- API REST intermediária – use para implementar a integração do Azure AD B2C e do Jumio
- Armazenamento de Blobs do Azure – use para obter arquivos de interface do usuário personalizados para as políticas de Azure AD B2C
O diagrama de arquitetura a seguir mostra a implementação.
- O usuário entra, ou se inscreve, e cria uma conta. O Azure AD B2C coleta os atributos do usuário.
- O Azure AD B2C chama a API de camada intermediária e transmite os atributos de usuário.
- A API de camada intermediária converte atributos do usuário em um formato de API do Jumio e os envia para o Jumio.
- O Jumio processa os atributos e retorna resultados para a API de camada intermediária.
- A API de camada intermediária processa os resultados e envia informações relevantes para o Azure AD B2C.
- O Azure AD B2C recebe as informações. Se a resposta falhar, uma mensagem de erro será exibida. Se a resposta for bem-sucedida, o usuário será autenticado e gravado no diretório.
Criar uma conta do Jumio
Para criar uma conta do Jumio, vá para a página Contato de jumio.com.
Configurar políticas do Azure AD B2C
Após criar uma conta do Jumio, use-a para configurar o Azure AD B2C.
Implantar a API
Em samples/Jumio/API/Jumio.Api/, implante o código em um serviço do Azure. Você pode publicar o código usando o Visual Studio.
Observação
Para configurar a ID do Microsoft Entra, você precisará da URL de serviço implantada.
Implantar o certificado do cliente
Um certificado do cliente ajuda a proteger a chamada à API Jumio.
Crie um certificado autoassinado usando o seguinte código de exemplo do PowerShell:
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My" $cert.Thumbprint $pwdText = "Your password" $pwd = ConvertTo-SecureString -String $pwdText -Force -AsPlainText Export-PfxCertificate -Cert $Cert -FilePath "{your-local-path}\Demo-SigningCertificate.pfx" -Password $pwd.
O certificado é exportado para o local especificado em
{your-local-path}
.Para importar o certificado para o Serviço de Aplicativo do Azure, consulte Carregar um certificado privado.
Criar uma chave de assinatura/criptografia
Crie uma cadeia de caracteres aleatória com um comprimento maior que 64 caracteres (somente letras e números).
Por exemplo:
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
Use o exemplo do script do PowerShell a seguir para criar a cadeia de caracteres:
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
Configurar a API
Você pode definir as configurações do aplicativo no Serviço de Aplicativo do Azure sem fazer o check-in delas em um repositório. Você precisará fornecer as seguintes configurações para a API REST:
Configurações do aplicativo | Fonte | Observações |
---|---|---|
JumioSettings:AuthUsername | Configuração da conta do Jumio | N/D |
JumioSettings:AuthPassword | Configuração da conta do Jumio | N/D |
AppSettings:SigningCertThumbprint | A impressão digital do certificado autoassinado criado | N/D |
AppSettings:IdTokenSigningKey | Chave de assinatura criada usando o PowerShell | N/D |
AppSettings:IdTokenEncryptionKey | Chave de criptografia criada usando o PowerShell | N/D |
AppSettings:IdTokenIssuer | Emissor do token JWT (é preferível um valor de GUID) | N/D |
AppSettings:IdTokenAudience | Público do token JWT (é preferível um valor de GUID) | N/D |
AppSettings:BaseRedirectUrl | URL base de política do Azure AD B2C | https://{your-tenant-name}.b2clogin.com/{your-application-id} |
WEBSITE_LOAD_CERTIFICATES | A impressão digital do certificado autoassinado criado | N/D |
Implantar a interface do usuário
- Configure um contêiner de armazenamento de BLOBs em sua conta de armazenamento.
- Armazene os arquivos da interface do usuário de /samples/Jumio/UI/ em seu contêiner de blob.
Atualize arquivos da interface do usuário
- Nos arquivos da interface do usuário, acesse /samples/Jumio/UI/ocean_blue/.
- Abra todos os arquivo HTML.
- Localize e substitua
{your-ui-blob-container-url}
pela URL do contêiner de blob. - Localize e substitua
{your-intermediate-api-url}
pela URL do serviço de aplicativo de API intermediário.
Observação
Recomendamos que você adicione uma notificação de consentimento na página de coleção de atributos. Notifique os usuários de que as informações são enviadas a serviços de terceiros para verificação de identidade.
Configurar a política do Azure AD B2C
- Vá para a política do Azure AD B2C em /samples/Jumio/Policies/.
- Use as instruções no Pacote inicial de política personalizada para baixar o pacote inicial LocalAccounts.
- Configure a política para o locatário Azure AD B2C.
Observação
Atualize as políticas para relacioná-las ao seu locatário.
Testar o fluxo de usuário
- Abra o locatário do Azure AD B2C.
- Em Políticas, selecione Identity Experience Framework.
- Selecione o SignUpSignIn criado.
- Selecione Executar fluxo de usuário.
- Em Aplicativo, selecione o aplicativo registrado (o exemplo é JWT).
- Em URL de resposta, selecione a URL de redirecionamento.
- Selecione Executar fluxo de usuário.
- Conclua o fluxo de inscrição.
- Crie uma conta.
- Depois que o atributo de usuário é criado, o Jumio é chamado.
Dica
Se o fluxo estiver incompleto, confirme se o usuário está salvo no diretório.