Skip to content

feat: add OIDC logout handling and public theme endpoint#1345

Closed
boehlke wants to merge 4 commits intoOpenSlides:feature/relational-dbfrom
kryptance:feature/keycloak-oidc
Closed

feat: add OIDC logout handling and public theme endpoint#1345
boehlke wants to merge 4 commits intoOpenSlides:feature/relational-dbfrom
kryptance:feature/keycloak-oidc

Conversation

@boehlke
Copy link
Copy Markdown

@boehlke boehlke commented Feb 19, 2026

Summary

  • Add OIDC logout handling via backchannel logout endpoint
  • Pass database pool to auth.New() for OIDC user resolution
  • Add public /system/theme endpoint for Keycloak login page theming

Context

Part of the Keycloak OIDC integration. Depends on openslides-go#170 for the updated auth.New() signature.

Related PRs:

  • openslides-go: #170 (dependency)
  • openslides-proxy: #35 (routes theme endpoint)

Test plan

  • make dev oidc starts autoupdate service with OIDC support
  • Keycloak backchannel logout invalidates autoupdate connections
  • /system/theme endpoint returns theme data without authentication

🤖 Generated with Claude Code

Add logout error type, SSE logout notification, HTTP handler extension,
and database pool passing for OIDC authentication.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
boehlke and others added 3 commits February 19, 2026 10:26
Theme serving has been moved to the backend presenter service.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove manual JSON formatting for logout errors and let them fall
through to the existing ClientError branch, keeping a single point
of JSON formatting. Remove redundant Reason() method from logoutError.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The autoupdate service code uses auth.LogoutError which was added in
commit 9224a36 on the kryptance fork. Add a replace directive so Go
fetches from the fork, fixing the CI build failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comment thread go.mod
golang.org/x/text v0.33.0 // indirect
)

replace github.com/OpenSlides/openslides-go => github.com/kryptance/openslides-go v0.0.0-20260219070754-9224a36bfe96
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use the go work feature with the same effect without editing this file.

go work init . ../openslides-go

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.

3 participants