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

如何在Keycloak中生成短期服务账户访问令牌?

Keycloak服务账户生成短期访问令牌的方法

我通过Keycloak的client_credentials模式生成服务账户的访问令牌,请求示例如下:

curl --location --request POST 'http://my.domain/auth/realms/aRealm/protocol/openid-connect/token' \
--header 'Authorization: Basic YXBcnZlcjpNlpuMwRWk1Y02ZFRE15vVp2YUdHJibmNalVvMFmxzVNQVg==' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' 

成功获取令牌后,发现它的有效期为30分钟,和我在领域设置中为普通用户配置的有效期一致。但服务账户的使用场景下,我不需要这么长的有效期,10-15秒就足够生成令牌并立即发起API请求。

我了解到部分认证系统支持通过传递lifetime参数指定令牌的具体有效期,但Keycloak官方文档中关于服务账户的章节并未提及短期令牌相关内容。我想知道是否遗漏了相关章节,或者有没有其他方法可以为服务账户生成短期令牌?

补充说明:

  • 该Keycloak客户端同时用于用户登录系统,用户令牌需要保持30分钟有效期,到期后需重新刷新
  • 服务账户场景为分布式代码向自有服务器发起API请求,仅需极短有效期的令牌(够完成一次API调用即可)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:39:20