[PR #12564] [CLOSED] Fix OIDC logout via end session endpoint #22973

Closed
opened 2026-04-20 04:32:22 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/12564
Author: @thlehmann-ionos
Created: 4/7/2025
Status: Closed

Base: devHead: fix-odic-logout-via-end-session-endpoint


📝 Commits (2)

  • 7348694 refactor(apis/auths): simplify overcomplicated promise + async/await mixup
  • a0051cd fix(UserMenu): with OIDC logout don't follow redirect in fetch

📊 Changes

6 files changed (+262 additions, -32 deletions)

View changed files

📝 backend/open_webui/routers/auths.py (+4 -4)
src/lib/apis/auths/index.spec.ts (+67 -0)
📝 src/lib/apis/auths/index.ts (+11 -17)
📝 src/lib/components/layout/Sidebar/UserMenu.svelte (+2 -11)
src/lib/services/auths.spec.ts (+156 -0)
src/lib/services/auths.ts (+22 -0)

📄 Description

Pull Request Checklist

Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.

Before submitting, make sure you've checked the following:

  • Target branch: Please verify that the pull request targets the dev branch.
  • Description: Provide a concise description of the changes made in this pull request.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation? (none)
  • Testing: Have you written and run sufficient tests to validate the changes? (test infrastructure is broken) (manual testing done)
  • Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
  • Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
    • BREAKING CHANGE: Significant changes that may affect compatibility
    • build: Changes that affect the build system or external dependencies
    • ci: Changes to our continuous integration processes or workflows
    • chore: Refactor, cleanup, or other non-functional code changes
    • docs: Documentation update or addition
    • feat: Introduces a new feature or enhancement to the codebase
    • fix: Bug fix or error correction
    • i18n: Internationalization or localization changes
    • perf: Performance improvement
    • refactor: Code restructuring for better maintainability, readability, or scalability
    • style: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
    • test: Adding missing tests or correcting existing tests
    • WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry

Description

When OIDC is configured, the session in Open WebUI is invalidated and the user must be redirected to the Auth server's end_session_endpoint to invalidate the session there.

With the previous implementation, the end_session_endpoint was sent as a redirect to the client.

However, since the request is made as Fetch request it has to obey CORS rules.

This would require the Auth server to set Access-Control-Allow-Origin, which is not sensible. If this header is not set, the request would fail, thus the logout would not be completed at the Auth server.

Fixed

  • For OIDC authentication: logout fixed to properly call end_session_endpoint (before this fix the endpoint was not called due to a CORS error)

Screenshots or Videos

Broken

https://github.com/user-attachments/assets/f8493fd1-a464-445a-87f9-f7c97399a140

Fixed

https://github.com/user-attachments/assets/fec16ed3-a826-4b83-b7b5-aee1b5fd0329


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/12564 **Author:** [@thlehmann-ionos](https://github.com/thlehmann-ionos) **Created:** 4/7/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `fix-odic-logout-via-end-session-endpoint` --- ### 📝 Commits (2) - [`7348694`](https://github.com/open-webui/open-webui/commit/7348694cc68d3a6b528385de3a0346839561151c) refactor(apis/auths): simplify overcomplicated promise + async/await mixup - [`a0051cd`](https://github.com/open-webui/open-webui/commit/a0051cdeb8fc5d26c5aafa928ee8851a33bf594f) fix(UserMenu): with OIDC logout don't follow redirect in fetch ### 📊 Changes **6 files changed** (+262 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/routers/auths.py` (+4 -4) ➕ `src/lib/apis/auths/index.spec.ts` (+67 -0) 📝 `src/lib/apis/auths/index.ts` (+11 -17) 📝 `src/lib/components/layout/Sidebar/UserMenu.svelte` (+2 -11) ➕ `src/lib/services/auths.spec.ts` (+156 -0) ➕ `src/lib/services/auths.ts` (+22 -0) </details> ### 📄 Description # Pull Request Checklist ### Note to first-time contributors: Please open a discussion post in [Discussions](https://github.com/open-webui/open-webui/discussions) and describe your changes before submitting a pull request. **Before submitting, make sure you've checked the following:** - [x] **Target branch:** Please verify that the pull request targets the `dev` branch. - [x] **Description:** Provide a concise description of the changes made in this pull request. - [x] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [x] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources? - [x] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? _(none)_ - [x] ~**Testing:** Have you written and run sufficient tests to validate the changes?~ _(test infrastructure is broken)_ _(manual testing done)_ - [x] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards? - [x] **Prefix:** To clearly categorize this pull request, prefix the pull request title using one of the following: - **BREAKING CHANGE**: Significant changes that may affect compatibility - **build**: Changes that affect the build system or external dependencies - **ci**: Changes to our continuous integration processes or workflows - **chore**: Refactor, cleanup, or other non-functional code changes - **docs**: Documentation update or addition - **feat**: Introduces a new feature or enhancement to the codebase - **fix**: Bug fix or error correction - **i18n**: Internationalization or localization changes - **perf**: Performance improvement - **refactor**: Code restructuring for better maintainability, readability, or scalability - **style**: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.) - **test**: Adding missing tests or correcting existing tests - **WIP**: Work in progress, a temporary label for incomplete or ongoing work # Changelog Entry ### Description When OIDC is configured, the session in Open WebUI is invalidated and the user must be redirected to the Auth server's end_session_endpoint to invalidate the session there. With the previous implementation, the end_session_endpoint was sent as a redirect to the client. However, since the request is made as Fetch request it has to obey CORS rules. This would require the Auth server to set Access-Control-Allow-Origin, which is not sensible. If this header is not set, the request would fail, thus the logout would not be completed at the Auth server. ### Fixed - For OIDC authentication: logout fixed to properly call `end_session_endpoint` (before this fix the endpoint was not called due to a CORS error) ### Screenshots or Videos #### Broken https://github.com/user-attachments/assets/f8493fd1-a464-445a-87f9-f7c97399a140 #### Fixed https://github.com/user-attachments/assets/fec16ed3-a826-4b83-b7b5-aee1b5fd0329 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 04:32:23 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#22973