You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak客户端连接时触发404 URL未找到错误求助

解决Keycloak 20.0.2 + python-keycloak-client 404错误

错误根源

  1. Keycloak路径规则变更:Keycloak 17+(Quarkus架构版本)默认移除了/auth上下文路径,但python-keycloak-client v2.x会自动在server_url后拼接/auth,导致请求URL错误(错误路径为/auth/realms/...,正确路径应为/realms/...)。
  2. 代码基础错误:变量名定义为aidc_client,调用时却用了oidc_client,会触发NameError;同时server_url格式错误(包含多余的/.)。
  3. OIDC配置端点不可达:客户端请求错误URL导致404,无法获取必要的OIDC配置信息。

修复步骤

1. 修正代码笔误与Server URL

先修复代码中的基础错误:

from keycloak.realm import KeycloakRealm

# 修正server_url格式,去掉多余的/.,使用正确域名
realm = KeycloakRealm(server_url='https://auth.******.**', realm_name='jasonrealm', auth_prefix='')

# 统一变量名,避免笔误
oidc_client = realm.open_id_connect(client_id='jason-test-client', client_secret='*********')
creds = oidc_client.client_credentials()
print(creds)

admin_client = realm.admin
root = admin_client.root()

2. 适配Keycloak无/auth前缀配置

在创建KeycloakRealm时添加auth_prefix=''参数,禁用库自动添加/auth前缀的行为,确保请求路径符合Keycloak 20的要求。

3. 验证服务器端点可用性

手动访问Keycloak的OIDC配置端点,确认服务器正常响应:

https://auth.******.**/realms/jasonrealm/.well-known/openid-configuration

如果能返回JSON格式的配置,说明服务器侧无问题;如果仍404,检查:

  • Realm名称jasonrealm是否确实存在于Keycloak中
  • Keycloak服务器是否正常运行
  • 本地网络是否能正常访问Keycloak服务器地址

4. Admin客户端额外检查

如果后续Admin客户端仍出现问题,确认:

  • 已在Keycloak中创建具有管理员权限的客户端
  • 客户端的Access Type设置为confidential
  • 客户端密钥填写正确

内容的提问来源于stack exchange,提问作者jasonsf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:05:33