Utilisation de l'Environnement de test de l'authentification silencieuse

Cette fonctionnalité est obsolète. Veuillez vous référer à la page Opérateur virtuel pour l'authentification silencieuse et Terrain de jeu du registre du réseauqui contiennent des conseils sur l'utilisation de l'aire de jeux associée au numéro virtuel.

Authentification silencieuse utilise le module d'identité de l'abonné (SIM) d'un téléphone mobile pour prouver l'identité d'un utilisateur, sans aucune intervention de ce dernier. Pour tester une vérification réussie, le code doit être exécuté à partir d'une application fonctionnant sur un téléphone via un réseau mobile - ce qui peut être difficile à faire. Ce guide explique donc comment configurer et utiliser un bac à sable pour une utilisation avec l'authentification silencieuse.

Il y a cinq étapes à suivre pour que le bac à sable soit opérationnel :

  1. Créer une application
  2. Générer un JWT
  3. Envoyer la demande d'authentification silencieuse
  4. Envoyer une requête GET à l'adresse check_url dans votre callback
  5. Envoyez votre code vers le point d'arrivée du code de contrôle

Créer une application

Tout d'abord, vous devez créer une application dans le tableau de bord du développeur Vonage. Saisissez un nom pour votre application et cliquez sur " Générer une clé publique et privée " - votre clé privée sera utilisée pour générer un JWT à l'étape suivante. Activez l'API Verify et définissez l'URL d'état sur votre site Web. webhook pour recevoir des rappels pour vos demandes :

Create an application using the Vonage developer dashboard.

Cliquez sur "Générer une nouvelle application" pour créer votre application.

Générer un JWT

Pour utiliser l'authentification silencieuse, vous devez utiliser l'authentification JWT dans vos requêtes sinon vous ne recevrez pas les webhooks nécessaires à sa mise en œuvre.

Ensuite, vous devrez générer un JWT pour authentifier vos demandes - vous trouverez des instructions sur la façon de procéder ici. Vous aurez besoin de votre identifiant d'application et de votre clé privée de l'étape précédente.

Envoyer la demande d'authentification silencieuse

Vous allez maintenant envoyer une demande d'authentification silencieuse. Dans l'exemple suivant, remplacez $JWT avec votre 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 }]
    }' 

Vous pouvez modifier le résultat de la vérification de l'authentification silencieuse en utilisant la valeur de l'attribut to domaine :

to champ Résultats
00, 99, par exemple 447701000099 failed - n'a pas été en mesure d'effectuer le contrôle.
Nombre impair, par exemple 447701000001 user_rejected - vérification réussie, mais l'utilisateur n'a pas été authentifié.
Nombre pair, par exemple 447701000002 completed - La vérification a été effectuée avec succès et l'utilisateur a été authentifié.

Une fois la demande envoyée, vous recevrez une réponse contenant votre request_id et 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"
}

Envoyer une requête GET à l'adresse check_url dans votre callback

La prochaine chose que vous recevrez est un événement à votre callback qui dit status: action_pending - cela signifie que l'API attend le résultat de la vérification de l'authentification silencieuse. Comme la demande n'est pas transmise à l'opérateur, vous devez effectuer cette opération vous-même. Dans l'événement, vous trouverez 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"
    }
}

Vous devez envoyer une requête

GET
à l'adresse suivante check_urlet il en résultera plusieurs HTTP30x que vous devrez suivre :

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

Une fois que vous aurez suivi les redirections, vous recevrez un code:

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

Envoyez votre code vers le point d'arrivée du code de contrôle

Pour compléter le chèque, envoyez le code à l'adresse suivante check-code point 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"
}'

Vous recevrez une réponse finale contenant le résultat du contrôle. En cas de succès :

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

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

Ou si la vérification a échoué :

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