Skip to content

feat(openid-connect): add stateless session revocation options#13651

Open
Hockenba wants to merge 4 commits into
apache:masterfrom
geico:feat/openid-connect-stateless-session-revocation
Open

feat(openid-connect): add stateless session revocation options#13651
Hockenba wants to merge 4 commits into
apache:masterfrom
geico:feat/openid-connect-stateless-session-revocation

Conversation

@Hockenba

@Hockenba Hockenba commented Jul 2, 2026

Copy link
Copy Markdown

Summary

  • Add session.redis.mode (storage | revocation) and session.revocation_fail_mode (open | closed) to the openid-connect plugin schema.
  • Pass session configuration through to lua-resty-session as-is; revocation is auto-loaded by the library when storage is cookie and Redis is configured for revocation (no APISIX-side revocation=true translation).
  • Add t/plugin/openid-connect-revocation.t covering schema validation, config passthrough, and fail-open/fail-closed runtime behavior.

Dependency

This plugin change depends on lua-resty-session cookie-session revocation support (Redis denylist on open() / destroy()). A companion change PR is required in
lua-resty-session before this can land in APISIX.

Test plan

  • prove t/plugin/openid-connect-revocation.t (with lua-resty-session revocation support installed)
  • prove t/plugin/openid-connect*.t
  • Verify cookie-session logout invalidates sessions when session.redis.mode is revocation
  • Verify revocation_fail_mode=open allows requests when Redis is unreachable
  • Verify revocation_fail_mode=closed rejects sessions when Redis is unreachable

@Hockenba Hockenba changed the title feat(openid-connect): add stateless session revocation via session.redis.mode feat(openid-connect): add stateless session revocation options Jul 2, 2026
@Hockenba Hockenba marked this pull request as ready for review July 2, 2026 17:42
@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. enhancement New feature or request labels Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant