Keycloak 管理 CLI:设置客户端属性

Car*_*rla 0 keycloak


我想使用 keycloak CLI ( kcadm.sh ) 生成一组具有一些属性(取自 Web 界面)的客户端,例如:

  • 访问类型=机密
  • 直接访问授权已启用=开

是否有可传递到管理 CLI 的所有属性的参考?在示例中我只能看到一些基本属性。谢谢

Ste*_*son 5

通过在命令中使用 -s 来设置属性是最简单的。像这样

kcadm.sh create clients -r oidcrealm -s "clientId=testClient" -s "directAccessGrantsEnabled=true" -s "publicClient=false"
Run Code Online (Sandbox Code Playgroud)

作为参考,前面的答案中提到的 REST API 文档很好,但另一个技巧是在 keycloak GUI 中设置您所需的配置,然后像这样导出配置。

kcadm.sh get clients -r oidcrealm
Run Code Online (Sandbox Code Playgroud)

然后将列出所有属性以及当前值。

kcadm.sh 还接受 JSON 作为输入,因此如果您有很多属性,这样运行可能会更容易,并且稍后会提供更好的概述

kcadm.sh create clients -r oidcrealm -f - << EOF
{
  "clientId" : "oidc-client",
  "redirectUris": ["http://react:3000"],
  "standardFlowEnabled": true,
  "publicClient": true,
  "attributes": {
    "pkce.code.challenge.method":"S256"
  }
}
EOF
Run Code Online (Sandbox Code Playgroud)