来自 Keycloak 登录:如何从 KEYCLOAK_IDENTITY/KC_RESTART cookie 中获取 Bearer Token

From Keycloak Login : How can I get the Bearer Token from KEYCLOAK_IDENTITY/KC_RESTART cookie

我在 ReactJS 上有一个 UI 应用程序 运行。对于登录,我们将其重定向到 keycloak 登录页面。

{ "cid": "abc-客户端", “pty”:“openid-connect”, "琉璃": "https://10.10.10.10:3001/", “行动”:“认证”, “注释”:{ “范围”:“openid”, "iss": "https://10.10.10.10:8445/auth/realms/abcrealm", “response_type”:“代码”, "redirect_uri": "https://10.10.10.10:3001/", “状态”:“879b6182-dca0-495c-8644-5b2ac032b5e4”, “随机数”:“1e263181-2313-45ea-962a-175fd58c6d75”, "response_mode": "片段" } }

换句话说,我只想做一个 check/validate 来提供 KEYCLOAK_IDENTITY 令牌在配置文件中是否具有有效角色。

使用 keycloak-js 验证登录。使用 keycloak 配置 json 初始化 keycloak。确保您提供 public 客户端的配置(不需要密码)。初始化后,keycloak 对象将同时拥有 token 和 tokenParsed。它还具有许多其他有用的功能。查看他们的文档。

import Keycloak from 'keycloak-js';
const keycloak = Keycloak('/keycloak.json');
keycloak.init({
  onLoad: 'login-required',
}).then((authenticated) => {
  if (authenticated) {
    const token = keycloak.token;
    const tokenParsed = keycloak.tokenParsed;
  
  }
}