[PR #22865] [CLOSED] fix: register OAUTH_SUB_CLAIM on app.state.config in main.py #42525

Closed
opened 2026-04-25 14:23:59 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/22865
Author: @18jreid
Created: 3/19/2026
Status: Closed

Base: devHead: fix/oauth-sub-claim-missing-config


📝 Commits (10+)

📊 Changes

1 file changed (+2 additions, -0 deletions)

View changed files

📝 backend/open_webui/main.py (+2 -0)

📄 Description

Pull Request Checklist

  • Target branch: This PR targets the dev branch.
  • Description: Concise description provided below.
  • Changelog: Changelog entry included below.
  • Documentation: No user-facing behavior, environment variables, or public APIs changed — existing OAUTH_SUB_CLAIM env var is already documented.
  • Dependencies: No new or upgraded dependencies.
  • Testing: Manually verified by tracing the code path — routers/auths.py:1349 reads request.app.state.config.OAUTH_SUB_CLAIM; without this fix an AttributeError is raised on every token exchange request.
  • Agentic AI Code: I have personally reviewed this two-line fix and verified its correctness.
  • Code review: Self-reviewed; the change mirrors the exact pattern used for all other OAuth claim configs in main.py.
  • Design & Architecture: Minimal fix, no architectural changes.
  • Git Hygiene: Single atomic commit targeting dev.
  • Title Prefix: Prefixed with fix:.

Changelog Entry

Description

OAUTH_SUB_CLAIM is defined in config.py and read by the token_exchange endpoint in routers/auths.py via request.app.state.config.OAUTH_SUB_CLAIM, but it was never imported or registered on app.state.config in main.py. This causes an AttributeError: Config key not found crash on every token exchange request when a custom sub claim is configured.

Fixed

  • Registered OAUTH_SUB_CLAIM on app.state.config in main.py, consistent with all other OAuth claim configs (OAUTH_ROLES_CLAIM, OAUTH_EMAIL_CLAIM, OAUTH_PICTURE_CLAIM, OAUTH_USERNAME_CLAIM)

Added

  • None

Changed

  • None

Deprecated

  • None

Removed

  • None

Security

  • None

Breaking Changes

  • None

Additional Information

  • The PersistentConfig for OAUTH_SUB_CLAIM already exists in config.py and is correctly assigned in utils/oauth.py:127. Only the main.py registration was missing.
  • Related code path: routers/auths.py:1349 reads request.app.state.config.OAUTH_SUB_CLAIM

Screenshots or Videos

N/A — backend-only fix with no UI changes.

Contributor License Agreement


🔄 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/22865 **Author:** [@18jreid](https://github.com/18jreid) **Created:** 3/19/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `fix/oauth-sub-claim-missing-config` --- ### 📝 Commits (10+) - [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev - [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev - [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev - [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev - [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev - [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev - [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev - [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093) - [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev - [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev ### 📊 Changes **1 file changed** (+2 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/main.py` (+2 -0) </details> ### 📄 Description <!-- ⚠️ CRITICAL CHECKS FOR CONTRIBUTORS (READ, DON'T DELETE) ⚠️ 1. Target the `dev` branch. PRs targeting `main` will be automatically closed. 2. Do NOT delete the CLA section at the bottom. It is required for the bot to accept your PR. --> # Pull Request Checklist - [x] **Target branch:** This PR targets the `dev` branch. - [x] **Description:** Concise description provided below. - [x] **Changelog:** Changelog entry included below. - [x] **Documentation:** No user-facing behavior, environment variables, or public APIs changed — existing `OAUTH_SUB_CLAIM` env var is already documented. - [x] **Dependencies:** No new or upgraded dependencies. - [x] **Testing:** Manually verified by tracing the code path — `routers/auths.py:1349` reads `request.app.state.config.OAUTH_SUB_CLAIM`; without this fix an `AttributeError` is raised on every token exchange request. - [x] **Agentic AI Code:** I have personally reviewed this two-line fix and verified its correctness. - [x] **Code review:** Self-reviewed; the change mirrors the exact pattern used for all other OAuth claim configs in `main.py`. - [x] **Design & Architecture:** Minimal fix, no architectural changes. - [x] **Git Hygiene:** Single atomic commit targeting `dev`. - [x] **Title Prefix:** Prefixed with `fix:`. # Changelog Entry ### Description `OAUTH_SUB_CLAIM` is defined in `config.py` and read by the `token_exchange` endpoint in `routers/auths.py` via `request.app.state.config.OAUTH_SUB_CLAIM`, but it was never imported or registered on `app.state.config` in `main.py`. This causes an `AttributeError: Config key not found` crash on every token exchange request when a custom sub claim is configured. ### Fixed - Registered `OAUTH_SUB_CLAIM` on `app.state.config` in `main.py`, consistent with all other OAuth claim configs (`OAUTH_ROLES_CLAIM`, `OAUTH_EMAIL_CLAIM`, `OAUTH_PICTURE_CLAIM`, `OAUTH_USERNAME_CLAIM`) ### Added - None ### Changed - None ### Deprecated - None ### Removed - None ### Security - None ### Breaking Changes - None --- ### Additional Information - The `PersistentConfig` for `OAUTH_SUB_CLAIM` already exists in `config.py` and is correctly assigned in `utils/oauth.py:127`. Only the `main.py` registration was missing. - Related code path: `routers/auths.py:1349` reads `request.app.state.config.OAUTH_SUB_CLAIM` ### Screenshots or Videos N/A — backend-only fix with no UI changes. ### Contributor License Agreement - [x] By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <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-25 14:23:59 -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#42525