我如何创建一个 client_credential 帐户才能执行管理任务?

How can I create a client_credential account in to be able to perform administrative tasks?

我正在尝试实现 但使用的客户端具有 client_credentials

我已经按照 this post 使用客户端凭据授权创建了我的客户端,因此我可以获得这样的访问令牌

但是当我尝试调用 execute-action-email api 时,我只收到错误 401

我错过了什么?

尝试从具有正确权限的用户那里获取令牌,例如主管理员:

curl -k -sS     -d "client_id=admin-cli"
                -d "username=$ADMIN_NAME"
                -d "password=$ADMIN_PASSWORD"
                -d "grant_type=password"
                http://$KEYCLOAK_IP/auth/realms/master/protocol/openid-connect/token)

或者,您可以做的是:

  • 创建一个新客户端你是master Realm;
  • 配置为使用授予类型的客户端凭据;
  • 转到映射器;
  • 点击[创建]
  • 作为映射器类型select“硬编码角色”
  • 单击 Select 角色和 selection“admin”
  • 保存;
  • 使用新创建的客户端请求令牌。