curl --request GET 'https://api.voicecheap.ai/oauth/jwks'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/jwks', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/jwks",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
OAuth y protocolo MCP
Obtener claves de verificación de ID tokens
Lee el JSON Web Key Set público que permite verificar las firmas de los ID tokens de VoiceCheap.
GET
/
oauth
/
jwks
curl --request GET 'https://api.voicecheap.ai/oauth/jwks'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/jwks', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/jwks",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Lee el JSON Web Key Set público que permite verificar las firmas de los ID tokens de VoiceCheap.
GET https://api.voicecheap.ai/oauth/jwks
Autenticación
Ninguno.Ejemplos de solicitud
Sigue la codificación y la autenticación documentadas para esta ruta. El formato envolvente y las reglas de idempotencia de la API de acciones solo se aplican a las invocaciones de acciones.curl --request GET 'https://api.voicecheap.ai/oauth/jwks'
const input = {};
const response = await fetch('https://api.voicecheap.ai/oauth/jwks', {
method: 'GET',
headers: {},
redirect: 'manual',
});
console.log(response.status, await response.text());
import os
import requests
response = requests.request(
"GET",
"https://api.voicecheap.ai/oauth/jwks",
headers={},
timeout=120,
allow_redirects=False,
)
print(response.status_code, response.text)
Respuesta
Lee el JSON Web Key Set público que permite verificar las firmas de los ID tokens de VoiceCheap.HTTP 200
{
"keys": [
{
"kty": "RSA",
"n": "l_9byS_IKjLQsZT2-tuGBrJH7a5DZWqUoyTRMRyzl-SetTGldXQ5kVSNz1ySXUyZq6PWkFMi1yZ8IPaFffSSJyNhop1XbJMRQHz_yJ9qi23BrL3x9IOAG68IJmJ1bBj3jF6mdXVvqP2jyy_iS3PElkZTVvFd8knge-jFmIdlXiieymtdwNQv1E1LAqi-FjL9f06MKVtvVEZNySC59TVsEBcUmzkCbEmDGyi59LOI5TektgU6N3vMj4cuTwfz0mjXIRRAFZUNwAg5w39FmttSIuXijC-S29PCG6MX4Q_RwAGmXP_MPuS7cTT35RT-eqZ4VT7frug-wSjjktGRxoXEtQ",
"e": "AQAB",
"use": "sig",
"alg": "RS256",
"kid": "uAejZ-V0CeTRBMLE7sKpQ8vQAVHZGbJEiCUra4mvKBE"
}
]
}
Cabeceras de respuesta
{
"Cache-Control": "no-store"
}
Notas de la operación
- Los endpoints OpenID Connect devuelven HTTP 404 cuando la integración de identidad no está disponible en este entorno. Comprueba el descubrimiento antes de depender de funciones de identidad.
- Selecciona la clave pública cuyo kid coincida con la cabecera del ID token y verifica RS256. La respuesta solo contiene claves públicas de verificación; nunca uses un ID token como token de acceso MCP.
Errores
| Estado HTTP | Código | Significado o solución |
|---|---|---|
| 404 | Not Found | Los endpoints OpenID Connect devuelven HTTP 404 cuando la integración de identidad no está disponible en este entorno. Comprueba el descubrimiento antes de depender de funciones de identidad. |
¿Esta página le ayudó?

