docs(19.7): defer the remaining lane C re-review items
This commit is contained in:
@@ -258,7 +258,7 @@ was changed by the plan that recorded it.
|
|||||||
5. then `PHASE197_RELEASED=1 bash scripts/check-phase19.7.sh --consumers`
|
5. then `PHASE197_RELEASED=1 bash scripts/check-phase19.7.sh --consumers`
|
||||||
must pass (every demo pin on its tag, no drift).
|
must pass (every demo pin on its tag, no drift).
|
||||||
- `readLinkCode` accepts a valid code next to other fragment parameters (found during 19.7-09 Task 3)
|
- `readLinkCode` accepts a valid code next to other fragment parameters (found during 19.7-09 Task 3)
|
||||||
status: open
|
status: resolved (gap-closure re-review: not a defect; vue-demo-app 9c247ab pins the lenient parse)
|
||||||
**What:** plan 09 described "extra parameters give ''" for the link page's
|
**What:** plan 09 described "extra parameters give ''" for the link page's
|
||||||
code reader. `readLinkCode` parses the fragment with URLSearchParams, so
|
code reader. `readLinkCode` parses the fragment with URLSearchParams, so
|
||||||
`#code=<64 hex>&next=/x` answers the code, while an extended or foreign
|
`#code=<64 hex>&next=/x` answers the code, while an extended or foreign
|
||||||
@@ -295,3 +295,56 @@ was changed by the plan that recorded it.
|
|||||||
are deliberately unpushed until the release order runs, so it would
|
are deliberately unpushed until the release order runs, so it would
|
||||||
refuse every pre-release run. `PHASE197_RELEASED=1` after the tags is
|
refuse every pre-release run. `PHASE197_RELEASED=1` after the tags is
|
||||||
the release proof.
|
the release proof.
|
||||||
|
- RC-CR-01 optional: base the session cutoff on `auth_time` (found in the gap-closure re-review, lane C)
|
||||||
|
status: open
|
||||||
|
**What:** the self-service password change now revokes every OAuth grant
|
||||||
|
as of the request (sm-user-plugin 30f7a01). The calling session's own
|
||||||
|
cutoff is still its `iat` second, so an attacker's frontend session JWT
|
||||||
|
refreshed after the victim's `iat` survives the change too. That predates
|
||||||
|
this phase; closing it means basing `tokens_valid_after` on the calling
|
||||||
|
token's `auth_time` and having `POST /refresh` and the jwt guard compare
|
||||||
|
`auth_time` with the cutoff, a change to session revocation in a core
|
||||||
|
plugin (and to how bouncer's refresh is checked) that needs its own
|
||||||
|
decision.
|
||||||
|
- RC-IN-01 nginx: keep the deprecated link GET route's code out of access logs (found in the gap-closure re-review, lane C)
|
||||||
|
status: open
|
||||||
|
**What:** sm-user-plugin 92676ba makes the show and confirm POSTs ignore
|
||||||
|
a code in the query string. `GET /_user/api/v1/backend-link/{code}` stays
|
||||||
|
for compatibility (removed only in a major release), so nginx still logs
|
||||||
|
the code if a third-party client calls it. `access_log off;` (or a
|
||||||
|
`log_format` without `$request_uri`) for
|
||||||
|
`location ~ ^/_user/api/v1/backend-link/` in the demo's nginx config is a
|
||||||
|
deploy change, made with the next demo deploy; the shipped page never
|
||||||
|
calls the GET route.
|
||||||
|
- RC-IN-06: the legacy MintAPIToken fallback is widened before the phrase-key check (found in the gap-closure re-review, lane C)
|
||||||
|
status: open
|
||||||
|
**What:** `classes.CompileAPITokenScopes` adds the declared names to the
|
||||||
|
process-wide fallback set before `bootAPITokenScopes` checks their phrase
|
||||||
|
keys, so a boot that fails on a missing key has already widened what
|
||||||
|
`MintAPIToken` accepts. Moving the add after the check needs a new
|
||||||
|
exported seam or a behaviour change of the exported
|
||||||
|
`CompileAPITokenScopes` in a core plugin; a failed boot ends the process,
|
||||||
|
so the widened set is never used in production. `MintAPIToken` is now
|
||||||
|
marked `Deprecated:` in favour of `MintAPITokenFor` (sm-user-plugin
|
||||||
|
9892404), which checks the application's own catalog.
|
||||||
|
- RC-IN-07: sm-oauthserver-plugin builds only through its workspace file (found in the gap-closure re-review, lane C)
|
||||||
|
status: open (release-time)
|
||||||
|
**What:** the plugin uses `userclasses.AccessRevokedEvent`,
|
||||||
|
`FireSubjectEvent` and `FireSubjectEventAfterCommit`, which the required
|
||||||
|
sm-user-plugin v0.1.10 lacks, so `GOWORK=off go build ./...` fails. The
|
||||||
|
release checklist for the oauthserver tag must bump `sm-user-plugin` to
|
||||||
|
the new user plugin tag and pass `GOWORK=off go build ./...` before the
|
||||||
|
tag; the requires are not bumped before the user plugin is tagged.
|
||||||
|
- Lane C re-review fixes moved the demo's oauthserver checkout (gap-closure re-review, lane C)
|
||||||
|
status: open
|
||||||
|
**What:** pier now gives a backend subject only to a grant that records
|
||||||
|
its consented administrator (`pact.MCPGrant.BackendUserID`, framework
|
||||||
|
c37c6ce), so the demo's e2e tests need the oauthserver commits that
|
||||||
|
record it. The working-tree checkout of sm-demo-app's
|
||||||
|
`plugins/golem15/oauthserver` was moved from 671513d to the canonical
|
||||||
|
b6a9586 (detached, fast-forward; the pointer stays uncommitted until the
|
||||||
|
plugin tag, as before). Canonical heads after the lane C fixes:
|
||||||
|
sm-user-plugin 9892404, sm-oauthserver-plugin 9813c1d,
|
||||||
|
vue-demo-app 9c247ab. `backend` grants issued before the oauthserver
|
||||||
|
migration `202610230001` record no administrator and stop acting as one
|
||||||
|
until the agent is connected again.
|
||||||
|
|||||||
Reference in New Issue
Block a user