如何在其中创建 client_credential 帐户以执行管理任务?

问题描述

我正在尝试实现 same exact thing of this user 但使用带有 client_credentials 的客户端

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

enter image description here

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

enter image description here

我错过了什么?

解决方法

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

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)

或者,您可以做的是:

  • 创建一个新客户端,您是主 Realm;
  • 配置为使用授权类型的客户端凭据;
  • 转到映射器;
  • 点击[创建]
  • 作为映射器类型选择“硬编码角色”
  • 点击选择角色并选择“admin”
  • 保存;
  • 使用新创建的客户端请求令牌。