From 062264c7f69d33bc18ab21c608dee7e0ee4c19f3 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 5 Oct 2025 14:22:00 -0500 Subject: [PATCH] refac/fix: oauth --- backend/open_webui/config.py | 15 ++++++++++----- backend/open_webui/utils/oauth.py | 8 ++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py index b175ff8ba4..bd73807621 100644 --- a/backend/open_webui/config.py +++ b/backend/open_webui/config.py @@ -606,7 +606,7 @@ def load_oauth_providers(): if GOOGLE_CLIENT_ID.value and GOOGLE_CLIENT_SECRET.value: def google_oauth_register(oauth: OAuth): - return oauth.register( + client = oauth.register( name="google", client_id=GOOGLE_CLIENT_ID.value, client_secret=GOOGLE_CLIENT_SECRET.value, @@ -621,6 +621,7 @@ def load_oauth_providers(): }, redirect_uri=GOOGLE_REDIRECT_URI.value, ) + return client OAUTH_PROVIDERS["google"] = { "redirect_uri": GOOGLE_REDIRECT_URI.value, @@ -634,7 +635,7 @@ def load_oauth_providers(): ): def microsoft_oauth_register(oauth: OAuth): - return oauth.register( + client = oauth.register( name="microsoft", client_id=MICROSOFT_CLIENT_ID.value, client_secret=MICROSOFT_CLIENT_SECRET.value, @@ -649,6 +650,7 @@ def load_oauth_providers(): }, redirect_uri=MICROSOFT_REDIRECT_URI.value, ) + return client OAUTH_PROVIDERS["microsoft"] = { "redirect_uri": MICROSOFT_REDIRECT_URI.value, @@ -659,7 +661,7 @@ def load_oauth_providers(): if GITHUB_CLIENT_ID.value and GITHUB_CLIENT_SECRET.value: def github_oauth_register(oauth: OAuth): - return oauth.register( + client = oauth.register( name="github", client_id=GITHUB_CLIENT_ID.value, client_secret=GITHUB_CLIENT_SECRET.value, @@ -677,6 +679,7 @@ def load_oauth_providers(): }, redirect_uri=GITHUB_CLIENT_REDIRECT_URI.value, ) + return client OAUTH_PROVIDERS["github"] = { "redirect_uri": GITHUB_CLIENT_REDIRECT_URI.value, @@ -716,7 +719,7 @@ def load_oauth_providers(): % ("S256", OAUTH_CODE_CHALLENGE_METHOD.value) ) - return oauth.register( + client = oauth.register( name="oidc", client_id=OAUTH_CLIENT_ID.value, client_secret=OAUTH_CLIENT_SECRET.value, @@ -724,6 +727,7 @@ def load_oauth_providers(): client_kwargs=client_kwargs, redirect_uri=OPENID_REDIRECT_URI.value, ) + return client OAUTH_PROVIDERS["oidc"] = { "name": OAUTH_PROVIDER_NAME.value, @@ -734,7 +738,7 @@ def load_oauth_providers(): if FEISHU_CLIENT_ID.value and FEISHU_CLIENT_SECRET.value: def feishu_oauth_register(oauth: OAuth): - return oauth.register( + client = oauth.register( name="feishu", client_id=FEISHU_CLIENT_ID.value, client_secret=FEISHU_CLIENT_SECRET.value, @@ -752,6 +756,7 @@ def load_oauth_providers(): }, redirect_uri=FEISHU_REDIRECT_URI.value, ) + return client OAUTH_PROVIDERS["feishu"] = { "register": feishu_oauth_register, diff --git a/backend/open_webui/utils/oauth.py b/backend/open_webui/utils/oauth.py index c598e05090..ff336dd175 100644 --- a/backend/open_webui/utils/oauth.py +++ b/backend/open_webui/utils/oauth.py @@ -367,8 +367,8 @@ class OAuthClientManager: if client_id in self.clients: client = self.clients[client_id] return ( - client.server_metadata_url - if hasattr(client, "server_metadata_url") + client._server_metadata_url + if hasattr(client, "_server_metadata_url") else None ) return None @@ -633,8 +633,8 @@ class OAuthManager: if provider_name in self._clients: client = self._clients[provider_name] return ( - client.server_metadata_url - if hasattr(client, "server_metadata_url") + client._server_metadata_url + if hasattr(client, "_server_metadata_url") else None ) return None