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

KeycloakBuilder配置serverUrl遇HTTP 404,求正确取值

KeycloakBuilder 正确的 serverUrl 设置方法

你的代码出现404错误的核心原因是serverUrl设置错误,Keycloak Java客户端的serverUrl不需要指定具体的OIDC端点路径(比如/auth或/token),只需填写Keycloak服务器的根地址即可,客户端会自动根据配置拼接对应的端点。

正确的 serverUrl 设置

将serverUrl修改为Keycloak服务器的基础地址:

Keycloak keycloak = KeycloakBuilder.builder()
        .serverUrl("http://localhost:8080") // 仅需根地址,无需后续端点路径
        .realm("API")
        .username("xxxxxxxx")
        .password("xxxxxxxx")
        .grantType("password")
        .clientId("APIUSERS")
        .clientSecret("xxxxxxxxxxxxxxxx")
        .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(20).build())
        .build();

AccessTokenResponse tokenResponse = keycloak.tokenManager().getAccessToken();
System.out.println("Access Token: " + tokenResponse.getToken());

原因说明

Keycloak Java客户端会基于你配置的serverUrl、realm和授权类型,自动拼接正确的令牌请求路径:

  • 当使用password授权类型时,客户端会生成路径:http://localhost:8080/realms/API/protocol/openid-connect/token
  • 这个路径和你curl命令中成功调用的路径完全一致,因此能正常获取令牌。

之前你设置的/realms/API/protocol/openid-connect/auth是授权端点(用于交互式登录),并非密码模式的令牌端点,因此会返回404错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:27:07