Skip to content

feat(sso): RP-initiated logout + session/token revocation #10151

Closed

Description

@mrveiss

Phase A2 of #8994.

OIDC RP-initiated logout (end_session_endpoint) and SAML SLO; revoke the local session/token on logout. Wire frontend logout to it.

AC:

  • OIDC end_session_endpoint logout
  • SAML SLO
  • local session/token revoked on logout
  • frontend logout wired
  • tests: token no longer authenticates after logout

Design: docs/superpowers/specs/2026-06-15-enterprise-sso-federation-design.md (branch issue-8994). Parent sub-umbrella #8994 (under umbrella #9930).

Activity

  1. mrveiss commented on Jun 17, 2026

    @mrveiss
    OwnerAuthor

    Scope decided (industry-standard, highest-security):

    1. OIDC RP-initiated logout (end_session_endpoint) + SAML SLO + audit LOGOUT.
    2. jti-denylist revocation for SLM-issued HS256 tokens — added in SLM services/auth.py (mint adds jti; decode_token/decode_token_async reject denylisted jti), Redis key TTL = token remaining lifetime. NOT in shared jwt_core (avoids forking epic(auth): unify AutoBot + SLM into ONE user store with role-based access (SLM = role-gated view, not a separate userbase) #10193).
    3. Frontend logout calls backend before clearing storage.
    4. Cross-service RS256 authority-token revocation is out of SLM's control → spun out as feat(auth): cross-service revocation of RS256 authority tokens (coordinate with #10193) #10278 (coordinate with epic(auth): unify AutoBot + SLM into ONE user store with role-based access (SLM = role-gated view, not a separate userbase) #10193).
      Grounding: tokens are stateless HS256 JWTs, no prior logout endpoint/store; mint at services/auth.py:create_token_response, decode at decode_token/decode_token_async.
  2. github-actions commented on Jun 21, 2026

    @github-actions
    Contributor

    PR #10426 (merged to Dev_new_gui) references this issue with a close keyword.

    feat(sso): Phase A enterprise hardening — RP-logout+revocation, group→role, PKCE docs (#10151, #10152, #10155)

    If this issue is fully resolved, close it manually. If work remains, no action is needed.

  3. mrveiss commented on Jun 21, 2026

    @mrveiss
    OwnerAuthor

    Delivered via PR #10426 (squash-merged to Dev_new_gui).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions