curl -s https://auth.mipos.co.cr/.well-known/jwks.json | python3 -m json.tool
$jwks = json_decode(
file_get_contents('https://auth.mipos.co.cr/.well-known/jwks.json'),
true
);
// $jwks['keys'][0]['n'] = módulo RSA
// $jwks['keys'][0]['kid'] = key ID
const res = await fetch('https://auth.mipos.co.cr/.well-known/jwks.json');
const jwks = await res.json();
// jwks.keys[0].kid = key ID activo
import requests
jwks = requests.get('https://auth.mipos.co.cr/.well-known/jwks.json').json()
# jwks['keys'][0]['kid'] = key ID activo
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"alg": "RS256",
"kid": "key-2024-01",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e": "AQAB"
}
]
}
Endpoints
GET /.well-known/jwks.json
Obtener la clave pública RSA en formato JWKS
GET
/
.well-known
/
jwks.json
curl -s https://auth.mipos.co.cr/.well-known/jwks.json | python3 -m json.tool
$jwks = json_decode(
file_get_contents('https://auth.mipos.co.cr/.well-known/jwks.json'),
true
);
// $jwks['keys'][0]['n'] = módulo RSA
// $jwks['keys'][0]['kid'] = key ID
const res = await fetch('https://auth.mipos.co.cr/.well-known/jwks.json');
const jwks = await res.json();
// jwks.keys[0].kid = key ID activo
import requests
jwks = requests.get('https://auth.mipos.co.cr/.well-known/jwks.json').json()
# jwks['keys'][0]['kid'] = key ID activo
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"alg": "RS256",
"kid": "key-2024-01",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e": "AQAB"
}
]
}
Retorna la clave pública del Auth Server en formato estándar JSON Web Key Set (RFC 7517). Las APIs cliente pueden usar este endpoint para verificar la firma de los JWT sin necesidad de una copia local de
public.pem.
La respuesta incluye el header
Cache-Control: public, max-age=3600. Puedes cachear la respuesta por hasta 1 hora.Response
array
Array de claves públicas activas.
Show Propiedades de cada clave
Show Propiedades de cada clave
string
Tipo de clave. Siempre
"RSA".string
Uso de la clave. Siempre
"sig" (firma).string
Algoritmo. Siempre
"RS256".string
Key ID. Identifica qué clave se usó para firmar. Coincide con el header
kid del JWT.string
Módulo RSA codificado en base64url.
string
Exponente RSA codificado en base64url. Normalmente
"AQAB".curl -s https://auth.mipos.co.cr/.well-known/jwks.json | python3 -m json.tool
$jwks = json_decode(
file_get_contents('https://auth.mipos.co.cr/.well-known/jwks.json'),
true
);
// $jwks['keys'][0]['n'] = módulo RSA
// $jwks['keys'][0]['kid'] = key ID
const res = await fetch('https://auth.mipos.co.cr/.well-known/jwks.json');
const jwks = await res.json();
// jwks.keys[0].kid = key ID activo
import requests
jwks = requests.get('https://auth.mipos.co.cr/.well-known/jwks.json').json()
# jwks['keys'][0]['kid'] = key ID activo
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"alg": "RS256",
"kid": "key-2024-01",
"n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqbw0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
"e": "AQAB"
}
]
}
⌘I