Răsfoiți Sursa

fix: 修正SSO配置地址,去掉:8080端口(经Nginx 80端口访问)

- config.yaml: sso_redirect_uri/sso_frontend_url/CORS allow_origins 去掉:8080
- gpustack/api/sso.py: 增强token交换失败日志,打印完整响应体和请求参数便于排查
kinglee 1 săptămână în urmă
părinte
comite
373c4d7467
2 a modificat fișierele cu 15 adăugiri și 4 ștergeri
  1. 3 3
      config.yaml
  2. 12 1
      gpustack/api/sso.py

+ 3 - 3
config.yaml

@@ -12,13 +12,13 @@ debug: true                     # 开启调试模式
 sso_base_url: http://192.168.92.61:8200
 sso_client_id: jdlUTeabvYWzuv5SZquDXSBHIgyUFNeX
 sso_client_secret: wh0HU_9T83rYMjfLFToNxFOKcrk_8H7Ba_27nNGlPqtTf9ROCytsOgp2ue0ol5mm
-sso_redirect_uri: http://192.168.92.151:8080/auth/callback   # 需与平台注册的redirect_uris一致
-sso_frontend_url: http://192.168.92.151:8080
+sso_redirect_uri: http://192.168.92.151/auth/callback   # 需与平台注册的redirect_uris一致(不带8080,经Nginx访问)
+sso_frontend_url: http://192.168.92.151
 sso_scope: email
 sso_logout_redirect_url: http://192.168.92.61:9200/login
 
 # ==================== CORS 配置 ====================
 enable_cors: true
 allow_origins:
-  - http://192.168.92.151:8080
+  - http://192.168.92.151
   - http://192.168.92.61:8200   # 统一认证平台(如需要跨域调用)

+ 12 - 1
gpustack/api/sso.py

@@ -63,7 +63,18 @@ async def exchange_code_for_sso_token(
         error_desc = error_data.get("error_description", "令牌交换失败")
         raise Exception(f"SSO token exchange failed: {error} - {error_desc}")
 
-    return resp.json()
+    token_data = resp.json()
+    if "access_token" not in token_data:
+        logger.error(
+            f"SSO token exchange returned 200 but missing access_token. "
+            f"Response: {resp.text}. "
+            f"Request data: redirect_uri={config.sso_redirect_uri}, "
+            f"client_id={config.sso_client_id}"
+        )
+        raise Exception(
+            f"SSO token exchange succeeded but no access_token in response: {resp.text}"
+        )
+    return token_data
 
 
 async def get_sso_userinfo(