相关疑难解决方法(0)

如何在 Keycloak SPI 中获取访问令牌?

用例:
从事件的 EventListenerProvider 内部,我想对我们的 keycloak 安全服务之一进行经过身份验证的 REST 调用。为此我需要一个令牌。

首先我只是测试打印令牌以检查是否成功。

  public void onEvent(final Event event) {
        Keycloak k = Keycloak.getInstance("http://localhost:8080/auth", "myrealm", "myemail@gmail.com", "password", "myclient");
        AccessTokenResponse t = k.tokenManager().getAccessToken();
        logger.info(t.getSessionState());
        logger.info(t.getToken());
   }
Run Code Online (Sandbox Code Playgroud)

不幸的是,session_state 和 token 都是 NULL。

所有数据都是正确的,网址、领域等。否则我们就会知道这一点。Keycloak 不记录任何内容,只是默默地返回 null。
最重要的是,我可以从其他任何地方使用上面的代码并且它可以工作!我可以从普通的 java main() 方法中使用它并且仍然有效。通过邮递员手动获取令牌也可以。

Keycloak Provider 有什么问题?如何获取特定用户的访问令牌?

keycloak

4
推荐指数
1
解决办法
3086
查看次数

标签 统计

keycloak ×1