The OpenID configuration lists only the scopes the forge grants, and the MCP signup tool says what the setting does #46
No reviewers
Labels
No labels
agent-work
agent-working
ultracode
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
trevato-apps/forge!46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev/stale-signup-admin-scope"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem.
/.well-known/openid-configurationlisted the scopeadmin./oauth/authorizenever grants it. The MCPsignuptool said "Nothing reads it yet", but #2245 made the doors read the setting.Root cause. The discovery documents wrote the scopes as literals, apart from the type that decides what authorize grants. The tool text was not changed with #2245.
Fix.
OAUTH_SCOPES = ["ro", "rw"] as constincore/oauth.tsdefinesOAuthScopeandisOAuthScope. The three discovery documents listOIDC_SCOPESandOAUTH_SCOPESfrom those constants, so they cannot list a scope that authorize does not grant.signuptool says what the setting does: open lets anyone in; invite and closed refuse a new account (invite links are not redeemed yet); the first account is never refused.Test.
test/oauth-discovery.test.tsexpectsscopes_supportedto be exactlyopenid profile email ro rw.test/mcp.test.tschecks thesignuptool text. On main: both fail. With the fix: both pass.Validate (fast). Result: baseline.
contain.test.ts,studio-runs.test.tsandweb-origins.test.tsalso fail on main1051d451on this box. tsc passes.Note: if the invite PR (L1) lands, the words "invite links are not redeemed yet" must change. The PR that lands second changes them.