{origin}/oauth, para los clientes que
actúan en nombre de un usuario.
Tokens de acceso personal (recomendado)
Para scripts, servicios backend y cualquier otra cosa que llame directamente a la API REST, usa un token de acceso personal (PAT) en lugar de un flujo de login:Token rápido (scripts de servidor a servidor)
Para un script puntual o pruebas locales, intercambia las credenciales de la cuenta por un JWT de corta duración en lugar de crear un PAT:@izapai/wizard cuando
generan un cliente rápido. Para cualquier cosa que dure más que un script,
prefiere un token de acceso personal.
OAuth 2.0 (aplicaciones de terceros)
Usa el flujo authorization code + PKCE para los clientes que actúan en nombre de un usuario.Discovery
Los clientes descubren el servidor de autorización mediante documentos de metadatos estándar:
El endpoint del MCP devuelve
401 con un encabezado WWW-Authenticate, así que
los clientes MCP que cumplen la especificación inician el flujo OAuth
automáticamente.
Flujo
GET /oauth/authorizeconresponse_type=code,client_id,redirect_uri,code_challenge,code_challenge_method=S256ystate.- El usuario se autentica y aprueba; iZap redirige de vuelta con
code. POST /oauth/tokencongrant_type=authorization_code,code,redirect_uriycode_verifier→ devuelve unaccess_token(JWT) y unrefresh_token.
POST /oauth/register. Renueva un token expirado con
grant_type=refresh_token.
Notas sobre los tokens
- Todo token —token de acceso personal, JWT o token de acceso OAuth— es un secreto. Léelo desde una variable de entorno o un gestor de secretos, nunca lo escribas directamente en el código.
- Un token de acceso personal no expira por sí solo; es válido hasta que lo revoques desde el Dashboard.
- Los JWT y los tokens de acceso OAuth expiran. Renuévalos (con un nuevo login o
con el grant de refresh de OAuth) cuando una solicitud devuelva
401.