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 cliente, o sigue las instrucciones aquí utilizar otro método.

Referencia de la API de Auth

Ya está disponible la especificación OpenAPI para los puntos finales de autenticación de Network Feature aquí.

Flujo de autenticación

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

  1. La aplicación backend solicita un identificador de autorización.
  2. La aplicación de backend utiliza ese identificador de autorización para Solicitar un token de acceso de CAMARA.
  3. Por último, la aplicación de backend utiliza el token de acceso para realizar la llamada a la API.

Presentar una solicitud de OIDC

OpenID Connect (OIDC) es una capa de identidad basada en el protocolo OAuth 2.0, que ofrece una forma de verificar la identidad de un usuario mediante el 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"

Encabezados

Encabezado Descripción
Authorization Debe configurarse en Bearer junto con el JWT generado en el paso anterior. La dirección JWT debe corresponder a la aplicación autorizada para el uso de las funciones de red.
Content-Type Debe configurarse en 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 quieres realizar una llamada a la API con un número de teléfono diferente, debes 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 de CAMARA, envía 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"

Encabezados

Encabezado Descripción
Authorization Debe configurarse en Bearer junto con el JWT generado en el paso anterior. La dirección JWT debe corresponder a la aplicación autorizada para el uso de las funciones de red.
Content-Type Debe configurarse en 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 El periodo de tiempo (en segundos) durante el cual el token de acceso es válido.

Realice la llamada a la API

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

Encabezado Descripción
Authorization Debe configurarse en 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
}