spring-boot - Keycloak :使用带有永不过期令牌的服务帐户
问题描述
我正在使用 Keycloak 和 SpringBoot API。我的目标是能够将 keycloak Admin REST API 与仅生成一次的令牌一起使用。我已启用服务帐户,但令牌会在几秒钟后过期。我该怎么做才能生成永不过期的令牌?(就像在 Openshift 服务帐户上一样)
如果不可能,我如何将我的 springboot 服务连接到 Keycloak 实例?我是否需要在每次请求之前生成一个令牌?
curl --location --request POST 'http://localhost:8081/auth/realms/api/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=admin-cli' \
--data-urlencode 'client_secret=f8111a95-67dd-412e-9e04-cf044f0e0286'
感谢您提供任何信息
解决方案
您可以实现一个小助手组件,集中提供令牌,在后台自动刷新它(如果需要)。来自 Keycloak 的响应包含一个expires_in
属性,该属性以秒为单位保存令牌到期,并且令牌本身在标准exp
声明中携带到期信息。
推荐阅读
- python - Neo4j - 如何在 python 中使用 neo4j-driver 在另一个查询中使用密码查询的结果
- mysql - 用presto如何显示像XXX这样的表格
- mysql - 两侧的唯一键?避免 (1,2) (2,1) 也
- mysql - 将 mysql 8 与 django 连接时出错
- python - 如何在 python 中解析非常大的文件?
- cordova - Cordova 为插件合并文件夹
- excel - Excel 中的矩阵是否填充了表格中的数据?
- vb.net - 索引数超过索引数组 vb 的维数
- java - 如何获取 Feign 客户端的名称?
- tensorflow-lite - 如何训练 mobilenet-v1 量化模型以在 TF Lite 上使用