如何验证从反应 SPA 中的 keycloak 检索的 nodejs express api 的访问令牌?

Posted

技术标签:

【中文标题】如何验证从反应 SPA 中的 keycloak 检索的 nodejs express api 的访问令牌?【英文标题】:How to verify the access token at nodejs express api retrieved from keycloak in a react SPA? 【发布时间】:2021-11-21 17:07:14 【问题描述】:

我在我的 react SPA 中收到了来自 keycloak 的访问令牌,但不知道如何在 nodejs express 后端 API 中使用相同的令牌来验证这是否是有效令牌。

我在这里错过了什么?

【问题讨论】:

【参考方案1】:

您可以使用keycloak-connect

const Keycloak = require("keycloak-connect");
const keycloak = new Keycloak();
appapp.use(keycloak.middleware());

你还需要keycloak.json,如下所示


  "clientId": "...",
  "bearerOnly": true,
  "serverUrl": "...",
  "realm": "...",
  "realmPublicKey": "..."

【讨论】:

以上是关于如何验证从反应 SPA 中的 keycloak 检索的 nodejs express api 的访问令牌?的主要内容,如果未能解决你的问题,请参考以下文章

基于微服务的环境中的 Keycloak 身份验证流程

Keycloak 列出 SPA 中的所有领域

vertx 中的 JWT 身份验证引发未经授权的行为

将 OIDC 添加到我的 SPA 后反向代理错误网关

一段时间后,身份验证 cookie 在反应 SPA 中消失

使用 keycloak 保护特定的反应页面