Uso del entorno de pruebas de autenticación silenciosa

Esta función ha quedado obsoleta. Consulte el Operador virtual y Espacio de pruebas del Registro de redque incluyen orientaciones sobre el uso de la zona de juegos asociada al número virtual.

Autenticación silenciosa utiliza el Módulo de Identidad del Suscriptor (SIM) de un teléfono móvil para probar la identidad de un usuario, sin que éste tenga que hacer nada. Para comprobar que la verificación se realiza correctamente, es necesario ejecutar el código desde una aplicación que se ejecute en un teléfono a través de una red móvil, lo que puede resultar difícil, por lo que en esta guía se explica cómo configurar y utilizar un entorno aislado para la autenticación silenciosa.

Hay cinco pasos para poner en marcha la caja de arena:

  1. Crear una solicitud
  2. Generar un JWT
  3. Enviar la solicitud de autenticación silenciosa
  4. Enviar una solicitud GET al check_url en su devolución de llamada
  5. Envía tu code al punto final del código de verificación

Crear una solicitud

En primer lugar, tienes que crear una aplicación en el panel de control para desarrolladores de Vonage. Introduce un nombre para tu aplicación y haz clic en «Generar clave pública y privada»: tu clave privada se utilizará para generar un JWT en el siguiente paso. Activa la API Verify y configura la URL de estado con tu webhook para recibir callbacks de sus peticiones:

Create an application using the Vonage developer dashboard.

Haga clic en "Generar nueva aplicación" para crear su aplicación.

Generar un JWT

Para utilizar la autenticación silenciosa, debe utilizar la autenticación JWT en sus solicitudes de lo contrario no recibirá los webhooks necesarios para implementarlo.

A continuación, tendrá que generar un JWT para autenticar sus solicitudes - encontrará instrucciones sobre cómo hacerlo aquí. Necesitará su ID de aplicación y su clave privada del paso anterior.

Enviar la solicitud de autenticación silenciosa

Ahora enviarás una solicitud de autenticación silenciosa. En el siguiente ejemplo, sustituye $JWT con tu 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 }]
    }' 

Puedes modificar el resultado de la comprobación de autenticación silenciosa utilizando el valor de la to campo:

to campo Resultado
00, 99, p. ej., 447701000099 failed - No se ha podido completar la comprobación.
Número impar, por ejemplo 447701000001 user_rejected - La comprobación se ha realizado correctamente, pero el usuario no ha sido autenticado.
Número par, por ejemplo 447701000002 completed - La comprobación se ha realizado correctamente y el usuario ha sido autenticado.

Una vez enviada la solicitud, recibirá una respuesta con su request_id y un 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"
}

Enviar una solicitud GET al check_url en su devolución de llamada

Lo siguiente que recibirás es un evento a tu callback que dice status: action_pending - Esto significa que la API está a la espera del resultado de la comprobación de autenticación silenciosa. Dado que la solicitud no se envía al operador, tendrás que completarla tú mismo. En ese caso, encontrarás un 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"
    }
}

Deberá enviar una solicitud GET a la dirección check_url, y esto dará lugar a varios HTTP30x respuestas que deberás 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

Una vez que hayas seguido las redirecciones, recibirás un code:

{
  "request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
  "code": "si9sfG"
}

Envía tu code al punto final del código de verificación

Para completar la comprobación, envíe el código a la dirección check-code punto 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"
}'

Recibirá una respuesta final con el resultado de la comprobación. Si tiene éxito:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "request_id": "31eaf23d-b2db-4c42-9d1d-e847e75ab330",
  "status": "completed"
}

O si la verificación ha fallado:

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