Authorized design, implementation review, and assessment of OpenID Connect Back-Channel Logout: logout_token JWT validation, backchannel_logout_uri delivery, sid/sub session binding, events claim, and propagation to local sessions and refresh tokens. Use when OIDC back-channel logout, backchannel_logout_uri, logout_token, sid claim, or IdP server-to-server logout POST appears in discovery, code, or traffic.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Authorized design, implementation review, and assessment of OpenID Connect Back-Channel Logout: logout_token JWT validation, backchannel_logout_uri delivery, sid/sub session binding, events claim, and propagation to local sessions and refresh tokens. Use when OIDC back-channel logout, backchannel_logout_uri, logout_token, sid claim, or IdP server-to-server logout POST appears in discovery, code, or traffic.
OIDC Back-Channel Logout
Server-to-server OpenID Connect Back-Channel Logout 1.0: the IdP notifies RPs
with a signed logout_token so browser-independent sessions end. Prefer this
skill when the artifact is the BC contract; use sso-logout-propagation for
multi-protocol SLO maps.
When To Use
Situation
Direction
Discovery/metadata: backchannel_logout_supported, backchannel_logout_session_supported, or registered backchannel_logout_uri
This skill
IdP POST of logout_token (form field) to an RP endpoint in traffic/logs
This skill
Implement/review RP logout_token acceptance and session teardown by sid
This skill
Multi-app residual sessions after IdP logout (topology first)
sso-logout-propagation
OIDC login: redirect_uri, state, PKCE, code theft
oauth-oidc-misconfiguration
Front-channel only (iframe/end_session) without logout_token
sso-logout-propagation
JWT alg/kid/JWKS issues not tied to logout lifecycle
Keywords: back-channel logout, logout_token, backchannel_logout_uri, sid,
eventshttp://schemas.openid.net/event/backchannel-logout, session-supported
BC logout, RP logout endpoint, IdP-initiated teardown.
Scope And Authorization
Authorized only: owned RPs/IdPs, labs, CTFs, or written scope naming the
tenant and every backchannel_logout_uri exercised.
Prefer test users and staging. Do not flood production RPs with forged or
mass logout tokens; do not attack third-party IdP infrastructure outside scope.
Treat logout_token, session cookies, refresh tokens, and JWKS as secrets:
redact reports; store offline; rotate test sessions after demos.
Assessment/hardening only — not production SSO disruption. Gate “logout all
devices” proofs on accounts you control.
Browser SID, server session store, refresh grants, device sessions
Binding
sid in id_token / session; sub only if sid unsupported
Delivery
HTTPS POST application/x-www-form-urlencoded with logout_token
Response
HTTP 200 on success; non-2xx must leave session state defined
Confirm IdP can reach RP URI (network path, mTLS, allowlists, private hosts).
2. Validate logout_token (RP must enforce)
Before destroying any session, require:
JWT: compact JWS; reject unsigned/none; pin algs to IdP JWKS.
iss: exact IdP issuer (no host-header trust).
aud: this RP client_id (exact; multi-aud only with explicit policy).
iat: present; max skew / max age (reject ancient tokens).
events: includes http://schemas.openid.net/event/backchannel-logout → {}.
sid and/or sub: at least one; if session-supported prefer sid and tear down only matching sessions.
No nonce: logout tokens must not carry nonce (≠ id_token).
Signature: current JWKS + rotation; never fetch keys from token-controlled URLs.
Replay: cache jti or token hash; reject duplicates in retention window.
Ignore unknown claims safely; do not trust nested unsigned data.
3. Session and token teardown
Target
Secure expectation
Server sessions for sid/sub
Destroy store records, not only clear cookies
Refresh tokens / grants
Revoke for that session or user per product scope
Access tokens
Short TTL and/or denylist if long-lived JWTs
Secondary tickets
Remember-me, WS, step-up cookies bound to same SSO
Multi-device
Document whether sid is per-browser or global; test both
Finding class: valid POST ignored; 200 but session still valid; teardown by
sub only when sid was issued (wrong scope); accept without events or with
nonce.
4. IdP and RP negative tests (authorized)
POST without logout_token; empty body; wrong content-type.
Wrong aud/iss, bad iat/signature, missing events, injected nonce, attacker sid.
Cross-client token (aud = other RP) accepted here.
SSRF/open redirect on registered backchannel_logout_uri → ssrf-server-side-request-forgery if fetchable.
IdP omits BC for some RPs while claiming global logout; front-channel-only peers → sso-logout-propagation.
5. Implementation hardening
Idempotent handler; short timeout; async teardown OK if APIs fail closed once logged out.
TLS only; optional IdP IP allowlist or mTLS (signature remains primary authN).
Structured logs: outcome, sid hash, jti — never full token.
Pair code changes with code-quality-standards.
Routing
Need
Skill
OIDC back-channel logout_token / URI / sid teardown