Skip to main content

Obtener un token

Envía tus credenciales al endpoint de login:
curl -X POST https://auth.mipos.co.cr/login \
  -H "Content-Type: application/json" \
  -d '{"base":"mi_empresa","password":"mi_password"}'

Usar el token

Incluye el token en el header Authorization de cada request a las APIs cliente:
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
El token expira después de 8 horas (28800 segundos). Cuando expire, debes hacer login nuevamente. No hay endpoint de refresh.

Verificar el token (APIs cliente)

Las APIs que reciben el token deben verificar su firma. Hay dos formas:
Copia el archivo public.pem del Auth Server a tu API cliente y verifica localmente:
use Firebase\JWT\JWT;
use Firebase\JWT\Key;

$publicKey = file_get_contents('/ruta/segura/public.pem');
$token = str_replace('Bearer ', '', $_SERVER['HTTP_AUTHORIZATION'] ?? '');

try {
    $decoded = JWT::decode($token, new Key($publicKey, 'RS256'));
    $base = $decoded->base; // Identificador del cliente
} catch (\Exception $e) {
    http_response_code(401);
    exit(json_encode(['error' => 'Token inválido']));
}