Logout (session cookie clear, RP-initiated end-session, 302 back) #28
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/authz-bridge!28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/oidc-logout"
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?
Closes #19
Adds the OIDC logout on the
:8082listener (/logoutpath; the non-/logoutpath keeps the stub until the callback ticket lands):Set-CookiewithMax-Age=0,Path=/) — the App's cookie name when the App resolves by Host, the API default otherwise; never an error status.EndSession=true(opt-in) with a resolvedend_session_endpointand a readable Session → 302 to theend_session_endpointwithid_token_hint(RP-initiated).EndSession=truewith an empty endpoint (discovery-omitted) or no readable Session → 302 back (local-only, per policy).EndSession=false(default) → clear + 302 back (local-only, zero-config); "back" is the Referer only when same-host (a cross-host Referer must not become an open redirect), else/. The request Host's port is stripped before App resolution so a direct:8082access still resolves (EndSession is not silently degraded).Verified TDD-first: 9 tests (default/local with+without Referer, foreign-Referer not-an-open-redirect, Host-with-port still resolves, custom cookie name, RP-initiated with hint, EndSession without endpoint, EndSession without readable session, unknown Host clears the default name, the dispatcher keeps the stub), RED before implementation and GREEN after. Full suite green (
-p 1). Two-axis code review: the open-redirect finding was fixed in this branch (same-host Referer gate + regression test) before review sign-off.