如何为 keycloak 客户端秘密 REST 调用获取未混淆的客户端秘密

Posted

技术标签:

【中文标题】如何为 keycloak 客户端秘密 REST 调用获取未混淆的客户端秘密【英文标题】:How to get an unobfuscated client-secret for keycloak client-secret REST call 【发布时间】:2021-09-24 12:51:24 【问题描述】:

当调用keycloak REST api(见下文)时,输出值是一串星号(星号) - 是否可以以明文形式获取此信息?

  curl \
  --silent \
  --request GET \
  -H "Authorization: bearer <MYACCESSTOKEN>" \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  "http://keycloakserver:8180/auth/admin/realms/myrealm/clients/<MYCLIENTID>/client-secret" 

返回/输出:

"type":"secret","value":"**********"

如何以文本(不是星号)格式检索它?

客户端配置:

客户端协议:openid-connect 访问类型:机密 标准流程:已启用

【问题讨论】:

【参考方案1】:

首先,您需要生成密钥。通过管理控制台:

或通过 keycloak REST api,在您的情况下(使用 POST 而不是 GET):

 curl \
  --silent \
  --request POST \
  -H "Authorization: bearer <MYACCESSTOKEN>" \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  "http://keycloakserver:8180/auth/admin/realms/myrealm/clients/<MYCLIENTID>/client-secret" 

【讨论】:

以上是关于如何为 keycloak 客户端秘密 REST 调用获取未混淆的客户端秘密的主要内容,如果未能解决你的问题,请参考以下文章

将它连接到 istio 后,如何为我的 keycloak 实例创建一个 URL 前端

如何为 keycloak 配置数据源以与 galera 集群配合使用?

与 Keycloak 身份验证插件集成时,无法从 rest 客户端调用 nuxeo rest api

从 Keycloak 中的 REST API 中提取角色

如何使用 Keycloak 保护前端和 REST API

Keycloak REST API 无法从用户角色映射中删除客户端级角色