浏览代码

fix: get userinfo from endpoint, not only from token
as was suggested by @alvarolopez in #6262

Willnow, Patrick 6 月之前
父节点
当前提交
1b5ac834ef
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      backend/open_webui/utils/oauth.py

+ 5 - 0
backend/open_webui/utils/oauth.py

@@ -139,6 +139,11 @@ class OAuthManager:
             log.warning(f"OAuth callback error: {e}")
             raise HTTPException(400, detail=ERROR_MESSAGES.INVALID_CRED)
         user_data: UserInfo = token["userinfo"]
+        if not user_data:
+            user_data: UserInfo = await client.userinfo(token=token)
+        if not user_data:
+            log.warning(f"OAuth callback failed, user data is missing: {token}")
+            raise HTTPException(400, detail=ERROR_MESSAGES.INVALID_CRED)
 
         sub = user_data.get("sub")
         if not sub: