问题标签 [keycloak-nodejs-connect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
56 浏览

reactjs - ReactJS with Keycloak login SSO: I want to login via Keycloak Login screen. without change in the browser URL

I am building a reactJs UI application. I am able to successfully login via keycloak redirection by using keycloak.json from keycloak client installation section. this redirection is working fine. no issues with that.

However, this approach does change the browser URL from "http://10.10.10.10:3000/login" to -> "http://10.10.10.10:8082/auth/".

  • I dont want users to see the redirection in the browser URL.
  • I am looking for a solution/configuration where users SHOULD NOT see the change in the browser URL, and still see the keycloak login page on the "http://10.10.10.10:3000/login". is it can be acheieve by SAML client instead of openid-connect? if yes, then what could be the configuration for SAML with my react UI application.
  • I The reason for this is that: we dont want to open firewall for Keycloak from all IPs/browsers. Our VM architecuture is like that Keycloak port can only be accessible internal only.
0 投票
1 回答
228 浏览

amazon-ec2 - 密钥斗篷身份验证问题

我正在尝试使用 Keycloak 对在 https 端口 4443 ( https://localhost:4443) 上运行的 nodejs 应用程序实现身份验证机制。

Keycloak 应用程序正在 EC2 实例的 8443 https 端口中运行。我正在尝试登录我的应用程序,该应用程序使用 Keycloak 进行身份验证,该应用程序在端口 4443 上运行。但出现以下错误:

在此处输入图像描述

密钥斗篷 json 文件:

以下是在 keycloak 服务器中进行的设置 在此处输入图像描述

到目前为止,我还没有 SSL 证书,因此需要一种绕过 SSL 的方法。此外,我尝试在端口 8080 上运行 keycloack,但无法通过浏览器访问 keycloak。

但是,截至目前,aws 安全组已允许所有流量。

我正在使用下图在 EC2 实例中运行 Keycloak。 https://hub.docker.com/r/jboss/keycloak

在此处输入图像描述

将请求您对此问题的所有帮助

0 投票
1 回答
61 浏览

keycloak - Keycloak Bearer 仅 nodejs 适配器返回 403

我在 kubernetes 中运行 keycloak 15.0.2 以及 react 应用程序和 node-js 后端服务。

我有 2 个客户,一个是公共的(反应前端),另一个是仅承载(服务后端),没什么特别的。

现在我正在登录并获取令牌: 令牌

然后我通过 GET 方法从后端请求资源:

后端客户端安装 json

我总是得到一个 403 拒绝访问的答案。邮递员也一样。

如果我删除 keycloak.protect() 一切正常。

0 投票
1 回答
262 浏览

javascript - 尝试调用 AIA 时,Keycloak“处理对身份提供者的身份验证请求时出现意外错误”

自从我开始尝试实施应用程序启动操作以来,一个按预期工作的Keycloak 服务器让我很头疼。

事先搜索

因为寻找主题导致动手材料的选择很少,所以我必须阅读AIA 的设计文档,尤其是流程部分。

环境

  • 钥匙斗篷 15
    • PostgreSQL 数据库后端
    • Keycloak 作为 k8s 部署
    • 使用中的客户具有用于开发目的的临时全部范围
  • 带有 keycloak-connect 的 Node.JS 后端并表示为服务器

我试过的

根据设计文档(这里是谷歌群组的一个条目,据说该功能“几乎按照设计完成”)流程应该构建为

这导致了我的模板引擎中的这段代码:

(pug variable) keycloak.config使用keycloak.getConfig()where keycloakis keycloak-connect 实例填充。

模板引擎正确地将变量替换为指向我的 keycloak 实例的链接,在该链接中,我看到了(德语等价的)以下错误消息:

(德语:

)

没有配置其他身份提供程序。

问题

如果设计文档中描述的方式导致此错误,如何正确调用我的 Keycloak 以启动 AIA?

0 投票
0 回答
124 浏览

node.js - 没有会话的 Keycloak Node.JS

我正在尝试使用 Keycloak 在 NodeJS 上实现 keycloak 身份验证。我想在授权请求标头或请求 cookie 中使用 JWT。

我关注了文档,但它使用了快速会话。因此请求中不包含 JWT,而是包含与 JWT 匹配的服务器上的会话 ID。我不想使用会话,而只想使用附加到客户端请求的 JWT。

这是我完成的代码:

谢谢 !

0 投票
1 回答
32 浏览

node.js - NodeJS + Keycloak 没有快递

我正在尝试使用 Keycloak 保护我的 Node.JS 应用程序,但我的应用程序不使用 express。我进行了广泛的搜索,但对我来说,这似乎是不可能的,至少对于 Keycloak 官方提供的库来说。(“没有快递的钥匙斗篷”根本没有结果

不过,我对 keycloack 生态系统有些陌生,如果有人能为我的问题提供一些解决方案,我会很高兴!

0 投票
1 回答
208 浏览

node.js - 将 Keycloak 不记名令牌传递给表达后端?

我们有一个使用 Vue3 的前端应用程序和一个使用 nodejs+express 的后端。

我们正在努力做到这一点,一旦前端应用程序被 keycloak 授权,它就可以将不记名令牌传递给后端(在同一领域中也受到 keycloak 的保护),以进行 API 调用。

谁能建议我们应该如何做到这一点?

跟随是我们正在尝试和看到的结果。

返回的错误只是“拒绝访问”,没有其他详细信息运行调试器,我们看到函数中抛出了“无效令牌(错误的受众)”错误GrantManager.validateToken(不幸的是,它没有冒泡)。

在webapp启动中我们初始化axios如下,将bearer token传递给后端服务器

在后端,在中间件初始化期间:

然后在保护端点时:

我们在 Keycloak 中配置了两个客户端:

  • 应用程序前端,设置为使用访问类型“公共”
  • 应用服务器,设置为使用访问类型“承载令牌”

尝试使用$keycloak.token会给我们“无效的令牌(错误的受众)”错误,但如果我们尝试使用$keycloak.idToken,那么我们会得到“无效的令牌(错误的类型)”

在第一种情况下,它将token.content.aud值“帐户”与 clientId 进行比较app-server。在第二种情况下,它将token.content.typ值 'ID' 与预期类型的​​ 'Bearer' 进行比较。

0 投票
0 回答
48 浏览

keycloak - Keycloak:通过令牌交换检索时访问令牌不活动

当您交换新主题时,令牌交换似乎无法正常工作。

返回一个访问令牌,但是当您自省它时,它是不活动的。这会导致像 nest-keycloak-connect 这样的库无法与新令牌一起使用,因为您正确获得了未经授权的异常。

我已经仔细检查过主机与发行者和内省者相同,并且我一直在通过 Postman 运行测试,但没有运气。

下面是我如何通过邮递员进行交换的屏幕截图: 邮差

预期行为

Access Token 和 Id Token 应该能够访问应用程序,就像用户手动登录一样。

实际行为

当访问令牌被自省时,它会错误地报告令牌不活动。

{“活跃”:假}

如何繁殖?

为您的管理员用户生成访问令牌。使用该令牌将令牌交换为另一个用户令牌。尝试将新令牌与令牌/内省一起使用

看到它不起作用。

0 投票
0 回答
21 浏览

node.js - keyclock 令牌访问被拒绝

我在特定服务器中设置了一个 keyclock。我正在使用服务器 IP 从我的节点应用程序进行令牌验证,甚至只使用服务器 IP 获取令牌。当我从服务器本身获取令牌并在本地设置中使用该令牌时,它被拒绝访问。

0 投票
1 回答
38 浏览

keycloak - Keycloak - 在弹出窗口中登录

我在 iframe 中使用 keycloak。我的 keycloak 客户是 Okta。

使用我当前的配置,keycloak 只是重定向到 okta 登录页面。这意味着它们也在 iframe 中打开。我真的很想改变这一点,因为它与我拥有的一些主要安全策略相矛盾。

谁能告诉如何重定向 keycloak 以使用 react/javascript 在弹出的 winodw 中打开 okta 登录。