Uso del entorno de pruebas de autenticación silenciosa

Esta función está obsoleta. Consulte la página Operadora virtual para autenticación silenciosa y Zona de juegos 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 aplicación
  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íe su code al punto final del código de comprobación

Crear una aplicación

En primer lugar, debe crear una aplicación en el panel de desarrollador de Vonage. Ingresa 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 próximo paso. Habilita Verify API y establece la URL de estado como 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á una solicitud de autenticación silenciosa. En el siguiente ejemplo, sustituya $JWT con su 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 }]
    }' 

Puede cambiar el resultado de la comprobación de autenticación silenciosa utilizando el valor de la variable to campo:

to campo Resultado
00, 99por ejemplo 447701000099 failed - incapaz de completar el cheque.
Número impar, por ejemplo 447701000001 user_rejected - comprobación correcta, pero el usuario no estaba autenticado.
Número par, por ejemplo 447701000002 completed - comprobación con éxito, y el usuario fue 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 - significa que la API está esperando el resultado de la comprobación de autenticación silenciosa. Como la solicitud no va al transportista, tendrá que completarla usted mismo. En el evento, encontrará 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_urly esto dará lugar a varios HTTP30x respuestas que tendrás que 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íe su code al punto final del código de comprobació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."
}