EMA leg 3 requires a resource-AS client secret, which blocks public clients the redeem already supports
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- authentication, backend
Direzione di ricerca
Inizia in core/auth/ema/emaFlow.ts, da mintEmaResourceTokens, e segui il percorso esistente per i client pubblici in redeemIdJagForAccessToken. Rimuovi il requisito che il secret del client di risorsa non sia vuoto, mantenendo però il controllo dell’ID del client di risorsa. Il lavoro è completato quando EMA procede con un secret vuoto usando token_endpoint_auth_method: none; verifica i test di autenticazione pertinenti, se presenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 11.1k
- Fork
- 1.6k
- Merge medio
- 4h 32m
- PR unite (30g)
- 136
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/inspector
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
modelcontextprotocol/inspector#2723 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
modelcontextprotocol/inspector#2727 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
modelcontextprotocol/inspector#2726 ·
I maintainer di solito rispondono entro 1 giorno
-
insufficient_scope challenge retry doesn't detect expired access token, gives up after one identical retryForse già presa @its-nott-me l’ha presa 3 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
modelcontextprotocol/inspector#2724 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Modern subscriptions: a subscriptions/listen refused with HTTP 403 is retried eight times in silenceApertabug v2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
modelcontextprotocol/inspector#2722 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/inspector
Issue simili
-
[Android] Nested transforms are composed in reverse orderForse già presa @Danyalo l’ha presa oggi. ApertaRepro provided
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
software-mansion/react-native-svg#3090 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
radix-ui/primitives#4228 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
rocketride-org/rocketride-server#2705 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
archon-ready archon-size-s archon-type-bug area: web
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
coleam00/Archon#4707 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
HarperFast/grafana-datasource#177 ·