EMA leg 3 requires a resource-AS client secret, which blocks public clients the redeem already supports
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- authentication, backend
Línea de trabajo
Empieza en core/auth/ema/emaFlow.ts, en mintEmaResourceTokens, y sigue el flujo existente para clientes públicos en redeemIdJagForAccessToken. Elimina el requisito de que el secreto del cliente de recurso no esté vacío, pero conserva la comprobación del ID del cliente de recurso. La tarea estará terminada cuando EMA continúe con un secreto vacío usando token_endpoint_auth_method: none; comprueba las pruebas de autenticación pertinentes si las hay.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
mintEmaResourceTokens (core/auth/ema/emaFlow.ts) refuses to start the EMA mint unless resourceClientSecret is non-empty:
if (!config.resourceClientSecret?.trim()) {
throw new Error(
"EMA requires resource authorization server client secret in server OAuth settings (Test Client secret from xaa.dev resource registration)",
);
}
But redeemIdJagForAccessToken, which it calls for leg 3, already handles a public client:
token_endpoint_auth_method: params.resourceClientSecret ? "client_secret_post" : "none"
So the guard rules out a case the redeem supports.
Impact: A resource authorization server that registers clients with token_endpoint_auth_method: none can't be used with EMA in Inspector. That covers any server that forces none at DCR, whatever the client asks for. The user gets an error pointing at xaa.dev, which isn't the resource AS in that case.
Reproduce (2.11.0):
- Register a client at a resource AS whose DCR returns
token_endpoint_auth_method: none. - In Server Settings, turn on Enterprise-managed authorization. Set Resource AS Client ID to that client and leave Resource AS Client Secret empty.
- Connect. It fails with
EMA legs 2–3 (resource token mint): EMA requires resource authorization server client secret …before leg 2 runs.
Workaround: put any non-empty secret in the field. That only works if the AS ignores an unexpected client_secret on a public client. A strict AS would refuse it with invalid_client.
Suggested fix: drop the secret guard and keep only the resourceClientId check, so an empty secret goes through the existing none path. If a hint is still wanted, it belongs on an invalid_client response from the token endpoint, not before the request. The field's help text could also say the secret is optional for public clients.
- Lenguaje dominante
- TypeScript
- Estrellas
- 11.1k
- Forks
- 1.6k
- Merge medio
- 5 h 38 min
- PR fusionados (30 d)
- 152
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/inspector
-
chore v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/inspector#2752 ·
Los mantenedores suelen responder en 1 día
-
Release 2.12.0 step 1: bump version to 2.12.0 on v2/mainPosiblemente ocupada @cliffhall la tomó hace 1 día. Abiertochore v2
modelcontextprotocol/inspector#2762 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
documentation v2
Dificultad 3/5 1-2 días Aptitud para principiantes 54/100
modelcontextprotocol/inspector#2755 ·
Los mantenedores suelen responder en 1 día
-
Static OAuth client loses its SEP-2352 issuer stamp across SDK saves and restartsPosiblemente ocupada @rajnish-verma-22172 la tomó hace 1 día. Abiertobug v2
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
modelcontextprotocol/inspector#2751 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Warn on non-loopback web binds and document the token's access-control boundary in the READMEAbiertoenhancement v2
Dificultad 3/5 1-2 días Aptitud para principiantes 67/100
modelcontextprotocol/inspector#2750 ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/inspector
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
phivk/rubiks-lab#33 ·
Los mantenedores suelen responder en 1 día
-
BUG:Edit Album strips spaces from the password so albums with a leading/trailing space in the password can't be editedPosiblemente ocupada @ManyaJain111 la tomó hoy. Abiertobug enhancement possible-duplicate
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
AOSSIE-Org/PictoPy#1637 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
chaitin/MonkeyCode#1437 ·
Los mantenedores suelen responder en 1 día
-
rtdb-info-connected-order test: unhandled 'connection is closed' rejection fails the CLI suiteAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
area:cards enhancement migration ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
fil-donadoni/tolaria#6309 ·
Los mantenedores suelen responder en 1 día