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:

  1. Criar um aplicativo
  2. Gerar um JWT
  3. Enviar a solicitação de autenticação silenciosa
  4. Envie uma solicitação GET para o check_url na sua função de retorno de chamada
  5. Envie seu code para 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:

Create an application using the Vonage developer dashboard.

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."
}