inspector/clients
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall fef8f5ca5a fix(oauth): pass the raw challenge scopes to the step-up scope filter
Copilot review round 10 on #2114 — a defect in round 8's fix, and the
precise loop that fix's extra argument was added to prevent.

`enrichChallengeWithScopes` narrows `requiredScopes` to the *missing*
subset, so a challenge requiring `offline_access tools:write` against a
stored scope that already carries `offline_access` arrives as just
`["tools:write"]`. Passing that narrowed list made the filter read the
server's explicit requirement as inherited and strip it, so
re-authorization would earn the same challenge forever.

Passes `challenge.requiredScopes` — the raw list — instead. The mixed
case is now covered, and fails against the narrowed list.

Also stops the checkbox promising more than the setting delivers: it
does not register anything for a preconfigured or CIMD client, and the
authorization server decides issuance either way. It now says it
declares the grant so the server *may* issue a refresh token.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013hzwzS8UvBsr4yZm7o7sev
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-24 23:35:00 -04:00
..
cli chore: pin esbuild past the GHSA-g7r4-m6w7-qqqr range in web/cli/tui 2026-08-24 20:26:43 -04:00
launcher chore(lint): fail lint on warnings (--max-warnings 0) 2026-08-23 10:47:29 -04:00
tui chore: pin esbuild past the GHSA-g7r4-m6w7-qqqr range in web/cli/tui 2026-08-24 20:26:43 -04:00
web fix(oauth): pass the raw challenge scopes to the step-up scope filter 2026-08-24 23:35:00 -04:00