OAuthConsent shows an empty permissions list when only offline_access is requested

Aperta Adatta ai principianti
#9,852 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
86/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
react, typescript

Direzione di ricerca

Inizia da packages/ui/src/components/OAuthConsent/OAuthConsent.tsx e analizza come viene filtrato displayedScopes e come viene renderizzato il gruppo dell’elenco delle autorizzazioni. Riproduci una richiesta di autorizzazione con solo scope=offline_access; il lavoro è completato quando la pagina di consenso non mostra più una casella delle autorizzazioni vuota, nascondendo il gruppo oppure visualizzando l’avviso offline_access come riga.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Preliminary Checks
Reproduction

https://github.com/clerk/javascript/blob/main/packages/ui/src/components/OAuthConsent/OAuthConsent.tsx (any OAuth application; authorize with scope=offline_access only)

Publishable key

n/a — reproduces on any instance with a Clerk OAuth application

Description

<OAuthConsent /> renders the "This will allow {application} access to:" list group header even when the list is empty.

displayedScopes filters offline_access out (line ~152) and the scope is instead surfaced as the oauthConsent.offlineAccessNotice footer line. When an OAuth client requests only offline_access (Smithery's MCP connector does this against our server), the user sees the header over a blank box and nothing else in the permissions section. The only hint that anything was granted is the small footer sentence.

Steps:

  1. Register a Clerk OAuth application (we use it as the authorization server for a remote MCP server; scopes_supported advertises profile email offline_access).
  2. Start an authorization request with scope=offline_access and open the consent page.
  3. Observe: "This will allow X access to:" header, empty list, then Deny/Allow.

Expected: either hide the list group when displayedScopes is empty, or render a row for offline_access (e.g. the text now in offlineAccessNotice), so the permissions box is never blank.

Screenshot from our consent page (Clerk-hosted component, custom appearance only): header present, list empty, footer notice present.

Environment
@clerk/nextjs 7.9.x (packages/ui OAuthConsent), Next.js App Router, custom consent path configured under Configure → Paths; observed 2026-09-22 with Smithery's OAuth client (client_id https://connect.smithery.ai/.well-known/oauth-client, DCR).
Lingua principale
TypeScript
Stelle
1.8k
Fork
472
Merge medio
2g 15h
PR unite (30g)
193

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di clerk/javascript

Tutte le issue di clerk/javascript

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.