Merge remote-tracking branch 'origin/v2/main' into v2/fix/2172-oidc-discovery-compat
Signed-off-by: cliffhall <cliff@futurescale.com> # Conflicts: # README.md # core/mcp/inspectorClient.ts # test-servers/src/test-server-oauth.ts
This commit is contained in:
commit
2eeab05d00
1 changed files with 8524 additions and 1598 deletions
37
AGENTS.md
37
AGENTS.md
|
|
@ -101,6 +101,43 @@ v2/main/
|
|||
│ │ # needs to know WHICH candidate
|
||||
│ │ # answered, since that is the base its
|
||||
│ │ # token request is made against — #2110;
|
||||
│ │ # revocation.ts RFC 7009 token revocation —
|
||||
│ │ # the request the three clear paths send.
|
||||
│ │ # TWO halves — clearAndPlanRevocation then
|
||||
│ │ # executeOAuthRevocation — and the split is
|
||||
│ │ # the contract. The first TAKES the stored
|
||||
│ │ # state and CLEARS it in one atomic storage
|
||||
│ │ # step (OAuthStorage.takeRevocationSnapshot);
|
||||
│ │ # the second sends from what was taken.
|
||||
│ │ # There is no separate `storage.clear()` in
|
||||
│ │ # any caller, deliberately — the clear cannot
|
||||
│ │ # be forgotten or reordered. Both halves of
|
||||
│ │ # that matter: the requests need state the
|
||||
│ │ # clear destroys, and the clear must not wait
|
||||
│ │ # on the network, or a fresh authorization
|
||||
│ │ # completing during a 5s request is deleted
|
||||
│ │ # by a clear reasoning about the grant it
|
||||
│ │ # replaced. NOT cross-process atomic — no
|
||||
│ │ # OAuth-store mutation takes a lock, and
|
||||
│ │ # `clear` alone always had that property.
|
||||
│ │ # Names the
|
||||
│ │ # REFRESH token when there is one (§2.1 asks
|
||||
│ │ # the AS to invalidate the access tokens
|
||||
│ │ # under the same grant, so one request
|
||||
│ │ # covers both). BEST-EFFORT by construction:
|
||||
│ │ # every path returns a
|
||||
│ │ # TokenRevocationOutcome rather than
|
||||
│ │ # throwing — no advertised endpoint means
|
||||
│ │ # nothing is sent and the AS behaves exactly
|
||||
│ │ # as before, and a network error / non-2xx /
|
||||
│ │ # timeout is reported so the local clear
|
||||
│ │ # always finishes. Opt out per server with
|
||||
│ │ # `oauth.revokeOnClear`, read at CLEAR time
|
||||
│ │ # rather than connect time. `lost_authorization_state`
|
||||
│ │ # recovery passes `revoke: false` — it clears a
|
||||
│ │ # half-finished flow to retry it, and an
|
||||
│ │ # authorization that never completed has no
|
||||
│ │ # grant to revoke — #2144;
|
||||
│ │ # scopes.ts SEP-2350 scope union, oauthUx.ts
|
||||
│ │ # shared copy, mcpAuth.ts force-reauthorization,
|
||||
│ │ # issuerBinding.ts SEP-2352 callback-leg failure
|
||||
|
|
|
|||
Loading…
Reference in a new issue