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 unJWTutilizando 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:
- La aplicación backend solicita un identificador de autorización.
- La aplicación de backend utiliza ese identificador de autorización para Solicitar un token de acceso de CAMARA.
- 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
}