/pom-ai-mcp/oauth/register: registro de clientes OAuth
Registro dinámico de clientes. Un cliente se presenta a sí mismo y recibe un ID de cliente, sin configuración manual por tu parte.
https://example.com/pom-ai-mcp/oauth/register
POST únicamente. Cualquier otra cosa devuelve 405.
Qué envía el cliente
| Campo | Obligatorio | Notas |
|---|---|---|
redirect_uris |
Sí | Al menos una; las URL de retorno (callback) del cliente |
client_name |
No | Por defecto, «MCP client»; se trunca a 191 caracteres |
scope |
No | Omitirlo registra al cliente para los ocho ámbitos (scopes) |
Un registro sin ninguna URI de redirección utilizable se rechaza con invalid_redirect_uris.
Qué devuelve
201 con el ID de cliente, el nombre registrado y las URI de redirección, además de:
| Campo | Valor |
|---|---|
grant_types |
authorization_code, refresh_token |
response_types |
code |
token_endpoint_auth_method |
none |
scope |
Los ámbitos (scopes) que el cliente puede solicitar |
No se emite ningún secreto de cliente. Los clientes son públicos, por lo que PKCE es obligatorio en el flujo de autorización.
El registro no es autorización
Este es el paso que la gente malinterpreta. Registrarse crea una identidad para el cliente; no concede nada.
El cliente aún tiene que enviarte a través del endpoint de autorización, donde inicias sesión como usuario de WordPress y apruebas un conjunto concreto de ámbitos (scopes). Un cliente registrado sin ninguna autorización aprobada no puede hacer absolutamente nada.
Así que un registro que aparece en el log no es, por sí mismo, un evento de seguridad. La autorización que le sigue sí lo es.
Ámbitos (scopes) en el registro
Si el cliente omite scope, queda registrado con los ocho disponibles — lo que significa que más adelante podrá solicitar cualquiera de ellos, no que los posea. Las cadenas de ámbito desconocidas se descartan en lugar de rechazarse.
Lo que realmente recibe se decide en la autorización, en la pantalla de consentimiento. Consulta OAuth scopes.
URI de redirección
Las URI registradas aquí son las únicas a las que redirigirá el endpoint de autorización. Una solicitud de autorización posterior que indique una URI diferente se rechaza con invalid_redirect_uri.
Esto es lo que impide que un código de autorización se entregue en un lugar que no aprobaste. Se aplica contra el registro almacenado, no contra nada que el cliente afirme en el momento de la autorización.
Limitación de velocidad
El registro está limitado a 5 solicitudes por minuto por IP. El intercambio de tokens y la revocación tienen presupuestos independientes. Una respuesta de cuota incluye Retry-After; los fallos temporales del limitador devuelven HTTP 503 con temporarily_unavailable.
Un cliente que reintenta en bucle un registro que falla acabará topándose con ello y recibirá 429. Espera un minuto en lugar de reintentar más rápido: el límite es una protección deliberada contra la inundación de registros.
Requisitos
- OAuth debe estar habilitado. Con Enable OAuth desactivado, este endpoint devuelve
404conoauth_disabled. - Los enlaces permanentes amigables deben estar configurados. La ruta es una regla de reescritura; sin ellos, devuelve la página 404 de tu sitio.
Sitios multilingües
La forma localizada /es/pom-ai-mcp/oauth/register también se acepta cuando POM Translate antepone prefijos a las URL, mientras que la URL canónica sin prefijo sigue siendo la anunciada.
Registros y restablecimiento
Los registros con más de 30 días pueden caducar cuando no tienen ningún código de autorización ni token activo. Un cliente que informe de invalid_client debe registrarse de nuevo y completar la autorización. Las concesiones activas se conservan hasta su caducidad o revocación normales.
Si el almacenamiento de registros no está disponible temporalmente, el endpoint devuelve un error en lugar de un ID de cliente utilizable. Espera antes de reintentar.
Los clientes registrados se almacenan por sitio. Reset OAuth en el panel de ajustes de MCP elimina de una vez todos los clientes, códigos y tokens del sitio.
Tras un restablecimiento, un cliente que estaba conectado falla con invalid_client y debe registrarse de nuevo — algo que un cliente compatible hace automáticamente en su siguiente conexión, aunque tendrás que aprobar la autorización otra vez.
En el log
Los registros correctos se registran con el nombre del cliente y el ID de cliente resultante.
Un registro inesperado en el log significa que algo ha llegado a tu endpoint de registro. Eso todavía no es un compromiso — nada se concede sin una autorización que tú hayas aprobado —, pero conviene entenderlo, sobre todo si el sitio es accesible públicamente.
Siguiente
The authorization endpoint, donde el cliente te envía para que apruebes.