liuq пре 1 месец
родитељ
комит
e0e7f8f01f
1 измењених фајлова са 8 додато и 4 уклоњено
  1. 8 4
      backend/app/services/hydra_service.py

+ 8 - 4
backend/app/services/hydra_service.py

@@ -58,7 +58,7 @@ class HydraService:
         # 1. 尝试删除已有的同名 Client(容错即可)
         try:
             resp_del = requests.delete(
-                f"{self.admin_base}/clients/{client_id}", timeout=5
+                f"{self.admin_base}/admin/clients/{client_id}", timeout=5
             )
             if resp_del.status_code not in (200, 204, 404):
                 logger.warning(
@@ -70,14 +70,18 @@ class HydraService:
             logger.warning("删除 Hydra Client 异常(忽略): %s", e)
 
         # 2. 创建新的 Client
-        resp = requests.post(f"{self.admin_base}/clients", json=payload, timeout=5)
+        resp = requests.post(
+            f"{self.admin_base}/admin/clients", json=payload, timeout=5
+        )
         if resp.status_code not in (200, 201):
             logger.error(
-                "在 Hydra 创建 Client 失败: status=%s, body=%s",
+                "在 Hydra 创建 Client 失败: status=%s, body=%s, url=%s, payload=%s",
                 resp.status_code,
                 resp.text,
+                f"{self.admin_base}/admin/clients",
+                payload,
             )
-            raise Exception("创建 Hydra OIDC Client 失败")
+            raise Exception(f"创建 Hydra OIDC Client 失败: {resp.text}")
 
     def get_login_request(self, challenge: str):
         try: