Skip to content

Fix: Username schemas and zitadel anonymization - #276

Closed
carlosplanchon wants to merge 7 commits into
benavlabs:mainfrom
carlosplanchon:feat/zitadel-oauth
Closed

Fix: Username schemas and zitadel anonymization#276
carlosplanchon wants to merge 7 commits into
benavlabs:mainfrom
carlosplanchon:feat/zitadel-oauth

Conversation

@carlosplanchon

Copy link
Copy Markdown
Collaborator

carlosplanchon and others added 7 commits July 14, 2026 03:19
Signed-off-by: Carlos Andrés Planchón Prestes <carlosandresplanchonprestes@gmail.com>
The OAuth callback now stashes the provider's id_token in the session
metadata (server-side only, and only for providers with a registered
end_session endpoint). /logout reads it before revoking the session
and, for those OIDC sessions, additionally returns a logout_url built
from the end_session endpoint plus id_token_hint and
post_logout_redirect_uri, so the client can navigate there and
terminate the IdP's own SSO session too (otherwise the next "login
with Zitadel" silently re-enters without credentials).

The local logout always happens regardless; navigating to logout_url
is the client's opt-in. Password and Google sessions keep the exact
old response shape. Wired for Zitadel via oauth_end_session_endpoints
in oauth.py; any future OIDC provider is a one-line entry. Requires
registering {OAUTH_REDIRECT_BASE_URL}/ as a Post Logout URI in the
IdP app (documented in .env.example).

Covered by test_oidc_logout_returns_end_session_url: a full callback
then logout round-trip asserting the URL carries the stashed
id_token_hint.

Signed-off-by: Carlos Andrés Planchón Prestes <carlosandresplanchonprestes@gmail.com>
Signed-off-by: Carlos Andrés Planchón Prestes <carlosandresplanchonprestes@gmail.com>
…nonymization

Fix: Username schemas and zitadel anonymization
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.

2 participants