浏览代码

Merge pull request #6339 from Cyb4Black/fix-not-rely-on-id-token-for-user-info

fix: get userinfo from endpoint, not only from token
Timothy Jaeryang Baek 6 月之前
父节点
当前提交
170ec2f9d0
共有 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: