Skip to content

feat(keystone): use shared memcached cache for mod_auth_openidc - #12542

Draft
bbobrov wants to merge 1 commit into
masterfrom
keystone/oidc-memcache-session-store
Draft

feat(keystone): use shared memcached cache for mod_auth_openidc#12542
bbobrov wants to merge 1 commit into
masterfrom
keystone/oidc-memcache-session-store

Conversation

@bbobrov

@bbobrov bbobrov commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Point mod_auth_openidc at the shared memcached instance (OIDCCacheType memcache) so any keystone-api replica can validate the OIDC auth state/nonce and read the server-side session, removing the intrinsic need for ingress session affinity during the WebSSO flow.

The memcached host uses the short ".svc" form to stay portable across clusters (the FQDN svc.kubernetes.. does not resolve where cluster.local is used), mirroring the SAML SP's StorageService approach. Entries are namespaced with an oidc_ key prefix and encrypted at rest via the existing OIDCCryptoPassphrase (OIDCCacheEncrypt defaults On); the connection is unauthenticated as memcached runs without SASL/TLS.

Point mod_auth_openidc at the shared memcached instance (OIDCCacheType
memcache) so any keystone-api replica can validate the OIDC auth
state/nonce and read the server-side session, removing the intrinsic
need for ingress session affinity during the WebSSO flow.

The memcached host uses the short ".svc" form to stay portable across
clusters (the FQDN svc.kubernetes.<region>.<tld> does not resolve where
cluster.local is used), mirroring the SAML SP's StorageService approach.
Entries are namespaced with an oidc_ key prefix and encrypted at rest via
the existing OIDCCryptoPassphrase (OIDCCacheEncrypt defaults On); the
connection is unauthenticated as memcached runs without SASL/TLS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant