Como usar a área de testes de autenticação silenciosa
Esse recurso está obsoleto. Consulte o Operadora virtual e Área de Testes do Registro de Rede, que incluem orientações sobre como usar o playground associado ao número virtual.
Autenticação silenciosa utiliza o Módulo de Identidade do Assinante (SIM) de um celular para comprovar a identidade do usuário, sem qualquer intervenção do usuário. Para testar se a verificação foi bem-sucedida, é necessário executar um código a partir de um aplicativo em execução no celular por meio de uma rede móvel — isso pode ser difícil de fazer; por isso, este guia explicará como configurar e usar um ambiente de teste (sandbox) para a Autenticação Silenciosa.
Existem cinco etapas para colocar a sandbox em funcionamento:
- Criar um aplicativo
- Gerar um JWT
- Enviar a solicitação de autenticação silenciosa
- Envie uma solicitação GET para o
check_urlna sua função de retorno de chamada - Envie seu
codepara o endpoint de verificação de código
Criar um aplicativo
Primeiro, você precisa criar um aplicativo no painel de desenvolvedores da Vonage. Digite um nome para seu aplicativo e clique em “Gerar chave pública e privada” — sua chave privada será usada para gerar um JWT na próxima etapa. Habilite a API Verify e defina a URL de status como a sua webhook para receber callbacks para suas solicitações:

Clique em “Gerar novo pedido” para criar seu pedido.
Gerar um JWT
Para usar a Autenticação Silenciosa, Você deve usar a autenticação JWT em suas solicitações caso contrário, você não receberá os webhooks necessários para implementá-lo.
Em seguida, você precisará gerar um JWT para autenticar suas solicitações — as instruções sobre como fazer isso podem ser encontradas aqui. Você precisará do ID da aplicação e da chave privada da etapa anterior.
Enviar a solicitação de autenticação silenciosa
Agora você enviará uma solicitação de autenticação silenciosa. No exemplo a seguir, substitua $JWT com o seu JWT:
curl -X POST 'https://api.nexmo.com/v2/verify' \
-H 'Authorization: Bearer $JWT' \
-H 'Content-Type: application/json' \
-d '{"brand": "Your Brand",
"workflow": [
{"to": "447701000002", "channel": "silent_auth","sandbox":true }]
}'
É possível alterar o resultado da verificação de autenticação silenciosa usando o valor do to campo:
to campo |
Resultado |
|---|---|
00, 99, por exemplo, 447701000099 |
failed - não foi possível concluir a verificação. |
Número ímpar, por exemplo: 447701000001 |
user_rejected - A verificação foi bem-sucedida, mas o usuário não foi autenticado. |
Número par, por exemplo: 447701000002 |
completed - A verificação foi bem-sucedida, e o usuário foi autenticado. |
Depois de enviar a solicitação, você receberá uma resposta contendo o seu request_id e um check_url:
{
"request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
"check_url": "https://api.nexmo.com/v2/verify/31eaf23d-b2db-4c42-9d1d-e847e75ab330/silent-auth/redirect"
}
Envie uma solicitação GET para o check_url na sua função de retorno de chamada
Em seguida, você receberá um evento na sua função de retorno de chamada que diz status: action_pending - isso significa que a API está aguardando o resultado da verificação de autenticação silenciosa. Como a solicitação não está sendo enviada à operadora, você precisará concluir essa etapa por conta própria. Nesse caso, você encontrará um check_url:
{
"request_id": "c11236f4-00bf-4b89-84ba-88b25df97315",
"triggered_at": "2020-01-01T14:00:00.000Z",
"type": "event",
"channel": "silent_auth",
"status": "action_pending",
"action": {
"type":"check"
"check_url": "https://eu.api.silent.auth/phone_check/v0.1/checks/c11236f4-00bf-4b89-84ba-88b25df97315/redirect"
}
}
Você precisará enviar uma solicitação GET para o check_url, e isso resultará em vários HTTP30x respostas que você precisará seguir:
HTTP/1.1 302 Found
Location: https://eu.api.silentauth.com/phone_check/v0.2/checks/31eaf23d-b2db-4c42-9d1d-e847e75ab330/redirect
HTTP/1.1 308 Temporary Redirect
Location: https://sandbox.redirect.m-auth.com/callback/sandbox?id=31eaf23d-b2db-4c42-9d1d-e847e75ab330
Depois de seguir os redirecionamentos, você receberá um code:
{
"request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
"code": "si9sfG"
}
Envie seu code para o endpoint de verificação de código
Para concluir a verificação, envie o código para o check-code ponto final:
curl --X POST \
--url https://api.nexmo.com/v2/verify/$REQUEST_ID \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-d $'{
"code": "si9sfG"
}'
Você receberá uma resposta final com o resultado da verificação. Se for aprovado:
HTTP/1.1 200 OK
Content-Type: application/json
{
"request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
"status": "completed"
}
Ou, caso a verificação tenha falhado:
HTTP/1.1 409 CONFLICT
Content-Type: application/json
{
"title": "Network error",
"detail": "The Silent Auth request could not be completed due to formatting or the carrier is not supported."
}