Skip to main content
RFC en la práctica — remoto, loopback, PKCE. Camino rápido: Quick Start.
Para implementar el flujo desde cero o con librería OAuth. Resumen: Construir un cliente. Notifique implementa OAuth 2.1 con PKCE obligatorio y DCR en POST /oauth/register. Issuer: https://api.notifique.dev. Login y consentimiento están en el panel Notifique. Tu app abre la URL de autorización en el navegador y maneja el callback — no construyes UI de consentimiento.

Tipos de cliente

PKCE es siempre obligatorio.

Caminos recomendados

  1. Registro fijo vs DCR — pre-registrar apps conocidas; DCR en runtime para MCP/CLI.
  2. Remoto vs local — callback HTTPS con sesión en servidor vs loopback http://127.0.0.1:<puerto>/callback.

Escopos

Declara el mínimo en registro y authorize. Ver Escopos.

Encoding

Clientes confidenciales usan HTTP Basic en token/revoke.

Generar PKCE y state

Remoto: persiste state y codeVerifier en la sesión. Local: en memoria mientras corre el servidor loopback.

Cliente remoto pre-registrado

Redirect HTTPS fijo. Registro confidencial. Guarda client_secret de forma segura — se muestra una sola vez. Falla si falta code, state no coincide o hay error en la query.

Cliente local (loopback)

Cliente público, bind en 127.0.0.1 — nunca 0.0.0.0.
No hagas prefetch de /oauth/authorize server-side. El usuario debe ver la pantalla de consentimiento.
Cierra el servidor loopback tras éxito o timeout.

Refresh rotativo

Cada refresh devuelve un nuevo refresh_token. Serializa refresh por grant y persiste el nuevo token atómicamente.

Revocar

Revoca el refresh token — los JWT de access no se revocan individualmente. Workspace: Configuración → Equipo → Apps conectadas.

Próximos pasos