Autenticación del servidor

Requisitos previos

Esta guía asume que usted ha completado los siguientes requisitos:

  • La función Funciones de red está habilitada en tu aplicación de Vonage. Sigue estos pasos guía para leer información detallada sobre cómo hacerlo.
  • Tiene una JWT. Puede utilizar nuestro generador en línea para crear un JWT utilizando tu clave privada y el ID de tu aplicación de Vonage, ambos se encuentran en el panel de control del clienteo siga las instrucciones aquí utilizar otro método.

Referencia de la API Auth

La especificación OpenAPI para los puntos finales de autenticación de funciones de red está disponible en aquí.

Flujo de autenticación

Realizar una llamada a la API es un proceso de tres pasos:

  1. La aplicación backend solicita un identificador de autorización.
  2. La aplicación backend utiliza ese identificador de autorización para solicitar una ficha de acceso a CAMARA.
  3. Por último, la aplicación backend utiliza el token de acceso para realizar la llamada a la API.
Vonage Communications PlatformBackend ApplicationVonage Communications PlatformBackend Application1. Make an OIDC RequestAuthorization Response2. Request a CAMARA access tokenCAMARA access token response3. Make the API callResult

Presentar una solicitud de OIDC

OpenID Connect (OIDC) es una capa de identidad construida sobre el protocolo OAuth 2.0, que proporciona una forma de verificar la identidad de un usuario mediante el protocolo JWT simbólico.

POST
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"

Cabeceras

Cabecera Descripción
Authorization Debe ajustarse a Bearer junto con el JWT generado en el paso anterior. La dirección JWT debe corresponderse con la aplicación aprobada para el uso de las funciones de red.
Content-Type Debe ajustarse a application/x-www-form-urlencoded.

Parámetros corporales

Parámetro Descripción
login_hint (Obligatorio) El número de teléfono (incluido el prefijo del país) que desea comprobar, por ejemplo +447700900000
scope (Obligatorio) Ámbito en formato de cadena.

Si desea realizar una llamada API a un número de teléfono diferente, debe generar un nuevo token de acceso para ese número.

Respuesta

Si tiene éxito, la respuesta tendrá un valor 200 OK y los siguientes datos JSON en el cuerpo de la respuesta:

{
  "auth_req_id": "$AUTH_REQ_ID",
  "expires_in": 120,
  "interval": 2
}
Parámetro Tipo Descripción
auth_req_id cadena La cadena de identificación de autorización que necesitará para el siguiente paso.
expires_in int El número de segundos hasta que expire el código de autenticación
interval int El número de segundos que deben transcurrir hasta la siguiente solicitud

Solicitar un código de acceso a CAMARA

Para solicitar un token de acceso CAMARA, envíe una solicitud

POST
a 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"

Cabeceras

Cabecera Descripción
Authorization Debe ajustarse a Bearer junto con el JWT generado en el paso anterior. La dirección JWT debe corresponderse con la aplicación aprobada para el uso de las funciones de red.
Content-Type Debe ajustarse a application/x-www-form-urlencoded.

Parámetros corporales

Parámetro Descripción
auth_req_id (Obligatorio) Se proporciona en la respuesta del paso anterior.
grant_type (Obligatorio) Debe establecerse en urn:openid:params:grant-type:ciba.

Respuesta

Si tiene éxito, la respuesta tendrá un valor 200 OK y los siguientes datos JSON en el cuerpo de la respuesta:

{
 "access_token": "$ACCESS_TOKEN",
 "token_type": "Bearer",
 "expires_in": 3600
}
Parámetro Tipo Descripción
access_token cadena El token de acceso que se utilizará durante las llamadas a la API.
token_type cadena Siempre está ajustado a Bearer.
expires_in int Periodo de tiempo (en segundos) durante el cual es válido el token de acceso.

Realice la llamada a la API

Todas las llamadas a funciones de red deben contener la siguiente cabecera:

Cabecera Descripción
Authorization Debe ajustarse a Bearer junto con el access token generado en el paso anterior.

Ejemplo de solicitud

El siguiente ejemplo muestra cómo realizar una llamada API a API de intercambio de SIM utilizando el token de acceso:

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
}'

Ejemplo de respuesta

Si tiene éxito, la respuesta tendrá un valor 200 OK y los siguientes datos JSON en el cuerpo de la respuesta:

{
   "swapped": true
}