Authentification du serveur
Conditions préalables
Ce guide suppose que vous ayez rempli les conditions suivantes :
- La fonction "Network Features" est activée dans votre application Vonage. Suivez les instructions suivantes guide pour lire des informations détaillées sur la manière de procéder.
- Vous disposez d'une
JWT. Vous pouvez utiliser notre générateur en ligne pour créer unJWTà l'aide de votre clé privée et de l'identifiant de votre application Vonage, qui se trouvent tous deux dans le fichier tableau de bord du clientou suivre les instructions ici pour utiliser une autre méthode.
Référence de l'API Auth
La spécification OpenAPI pour les points de terminaison d'authentification de la fonctionnalité réseau est disponible. ici.
Flux d'authentification
L'appel d'une API se fait en trois étapes :
- L'application backend demande un identifiant d'autorisation.
- L'application dorsale utilise cet identifiant d'autorisation pour demander un jeton d'accès au CAMARA.
- Enfin, l'application dorsale utilise le jeton d'accès pour effectuer l'appel à l'API.
Faire une demande auprès de l'OIDC
OpenID Connect (OIDC) est une couche d'identité construite au-dessus du protocole OAuth 2.0, qui permet de vérifier l'identité d'un utilisateur à l'aide du protocole JWT de l'argent.
https://api-eu.vonage.com/oauth2/bc-authorize curl -X POST https://api-eu.vonage.com/oauth2/bc-authorize \
--header "Authorization: Bearer $JWT" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "login_hint=$PHONE_NUMBER" \
--data-urlencode "scope=$SCOPE"
En-têtes
| En-tête | Description |
|---|---|
Authorization | Doit être réglé sur Bearer ainsi que la JWT généré à l'étape précédente. L'étape JWT doit correspondre à l'application approuvée pour l'utilisation des fonctionnalités du réseau. |
Content-Type | Doit être réglé sur application/x-www-form-urlencoded. |
Paramètres du corps
| Paramètres | Description |
|---|---|
login_hint | (Obligatoire) Le numéro de téléphone (y compris l'indicatif du pays) que vous souhaitez vérifier, par exemple +447700900000 |
scope | (Obligatoire) Champ d'application au format chaîne de caractères. |
Si vous souhaitez effectuer un appel API vers un numéro de téléphone différent, vous devez générer un nouveau jeton d'accès pour ce numéro.
Réponse
En cas de succès, la réponse aura une valeur 200 OK et les données JSON suivantes dans le corps de la réponse :
{
"auth_req_id": "$AUTH_REQ_ID",
"expires_in": 120,
"interval": 2
}
| Paramètres | Type | Description |
|---|---|---|
auth_req_id | chaîne de caractères | La chaîne d'identification de l'autorisation dont vous aurez besoin pour l'étape suivante. |
expires_in | int | Nombre de secondes avant l'expiration du code d'authentification |
interval | int | Nombre de secondes avant la prochaine demande |
Demander un jeton d'accès au CAMARA
Pour demander un jeton d'accès CAMARA, envoyez une demande
https://api-eu.vonage.com/oauth2/token curl -X POST https://api-eu.vonage.com/oauth2/token \
--header "Authorization: Bearer $JWT" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "auth_req_id=$AUTH_REQ_ID" \
--data-urlencode "grant_type=urn:openid:params:grant-type:ciba"
En-têtes
| En-tête | Description |
|---|---|
Authorization | Doit être réglé sur Bearer ainsi que la JWT généré à l'étape précédente. L'étape JWT doit correspondre à l'application approuvée pour l'utilisation des fonctionnalités du réseau. |
Content-Type | Doit être réglé sur application/x-www-form-urlencoded. |
Paramètres du corps
| Paramètres | Description |
|---|---|
auth_req_id | (Obligatoire) Cette information est fournie dans la réponse à l'appel à propositions. étape précédente. |
grant_type | (Obligatoire) Doit être réglé sur urn:openid:params:grant-type:ciba. |
Réponse
En cas de succès, la réponse aura une valeur 200 OK et les données JSON suivantes dans le corps de la réponse :
{
"access_token": "$ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 3600
}
| Paramètres | Type | Description |
|---|---|---|
access_token | chaîne de caractères | Le jeton d'accès qui sera utilisé lors des appels à l'API. |
token_type | chaîne de caractères | Il est toujours fixé à Bearer. |
expires_in | int | Période de temps (en secondes) pendant laquelle le jeton d'accès est valide. |
Effectuer l'appel à l'API
Tous les appels de fonctionnalité réseau doivent contenir l'en-tête suivant :
| En-tête | Description |
|---|---|
Authorization | Doit être réglé sur Bearer ainsi que la access token généré dans le étape précédente. |
Exemple de demande
L'exemple suivant montre comment effectuer un appel API à API d'échange de cartes SIM à l'aide du jeton d'accès :
curl -X POST https://api-eu.vonage.com/camara/sim-swap/v040/check \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data $'{
"phoneNumber": "'$PHONE_NUMBER'",
"maxAge": 240
}'
Exemple de réponse
En cas de succès, la réponse aura une valeur 200 OK et les données JSON suivantes dans le corps de la réponse :
{
"swapped": true
}