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
- Registro fijo vs DCR — pre-registrar apps conocidas; DCR en runtime para MCP/CLI.
- 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
state y codeVerifier en la sesión.
Local: en memoria mientras corre el servidor loopback.
Cliente remoto pre-registrado
Redirect HTTPS fijo. Registro confidencial. Guardaclient_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 en127.0.0.1 — nunca 0.0.0.0.
Refresh rotativo
Cada refresh devuelve un nuevorefresh_token. Serializa refresh por grant y persiste el nuevo token atómicamente.

