问题标签 [keycloak-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 投票
1 回答
147 浏览

node.js - 从 NodeJS 登录 Keycloak:400 错误请求

我正在尝试从 NodeJS 代码登录 Keycloak,但我正在努力寻找工作示例。

https://www.keycloak.org/docs/latest/securing_apps/index.html#_nodejs_adapter上的文档不完整,没有描述最重要的事情,即您如何实际登录。

我从 keycloak 文档的基本信息和keycloak-nodejs-connect的测试中修改了我的示例:

但是,我遇到了错误:

错误:400:错误请求

在服务器端,我看到日志:

2021-11-19T10:16:49,312+01:00 WARN [org.keycloak.events](默认任务 56)类型=LOGIN_ERROR,realmId=client-realm,clientId=test-client,userId=null,ipAddress=192.168 .111.2222,error=not_allowed,auth_method=oauth_credentials,grant_type=password,client_auth_method=client-secret

因此调用了 keycloak API,但是,用户名不知何故没有正确给出。

该方法的签名是确定的,它得到了用户名,它是如何期望的。

我在这里缺少什么?

0 投票
0 回答
189 浏览

node.js - 如何使用 keycloak 在 NodeJs 中实现注销功能

我正在尝试实现keycloaks作为 docker 容器运行的注销功能。

当与邮递员一起尝试时,我得到了 204 响应,即使在那之后我也能够访问网页而无需再次登录(因此注销没有正确发生)。

我提供了不记名令牌、客户端 ID、客户端密码和刷新令牌。

请参阅下面来自 Postman 的屏幕截图。

在此处输入图像描述

在此处输入图像描述

同样,尝试使用 axios 在 nodejs 上实现这些更改。但是,事情并没有奏效。

响应为空的堆栈跟踪:

理想情况下,我认为我们应该得到一些响应,并且令牌应该失效并自动注销。

请帮助我实施这些更改

0 投票
1 回答
124 浏览

azure-active-directory - KeyCloak 与 Azure B2C 用户名映射问题的集成

我们已将密钥斗篷与 Azure ADB2C 集成为身份提供者。在从 b2c 令牌映射 keycloak 中的用户声明时,我看到“子”声明为空白。B2C 策略或 Keycloak 映射配置设置中是否有任何需要修改的内容。请分享您的建议。我非常感谢您花时间考虑这个问题。

0 投票
0 回答
124 浏览

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

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

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

这是我完成的代码:

谢谢 !

0 投票
1 回答
193 浏览

keycloak - KeyCloak 与 Azure ADB2C 集成 - 缺少状态参数

我已将“KeyCloak”(身份代理)与 Azure ADB2C 集成以对用户进行身份验证。

首先将用户ADB2C Login用户流端点与Keycloak集成并测试,绝对没问题。此外,我们将 B2C“忘记密码”用户流端点与 Keycloak 集成,在 B2C 中成功忘记密码完成后,将响应重定向回 keycloak,我们看到来自 Keycloak 屏幕的错误响应为 - “响应中缺少状态参数身份提供者”</p>

在请求 url 中有 Scope、Client_id、State、Response_type、Redirect_URI、nonce。但在 B2C 响应 url 中包含“Client_ID”、response_type、scope 和 redirect_Uri。

到目前为止,无法找到解决此问题的方法。如果有任何方法可以从 ADB2C 或 Key-Cloak 处理此问题,请提出建议。

“ADB2C - 使用 OAuth 标准身份验证协议实现”</p>

Keycloak 错误页面代码:- “身份提供者响应中缺少状态参数”</p>

谢谢你。

0 投票
1 回答
53 浏览

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

我正在将 Keycloak 的身份验证恶魔项目构建到一个反应项目中。我有一个公共页面和一个私人页面。私人页面检查用户是否已登录,并根据连接状态显示登录或注销按钮。这部分效果很好。当我单击登录按钮时,我被重定向到 Keycloak 门户。登录后,我被重定向到私人页面,我可以使用专用按钮注销。

但是当我导航到公共页面并返回私人页面时,或者只是刷新私人页面时,连接似乎已断开。然后我点击登录按钮,连接回来了,没有被重定向到 keycloak 门户。

那里有私人页面:

RenderAnonymous 和 RenderAuthenticated 是相同的,除了身份验证条件:

用户服务:

keycloak 的初始化是从 index.js 启动的:

我不明白问题出在哪里......是流量问题吗?https://www.keycloak.org/docs/latest/securing_apps/index.html#_javascript_implicit_flow

0 投票
0 回答
28 浏览

keycloak - Keycloak 授权验证。未能加载公钥以验证令牌。原因:socket挂了

我正在使用 keycloak 来保护具有仅承载身份验证的快速 API。

当 API 在本地运行时,我可以请求令牌以正常使用服务,但是当它在公共 IP 上运行时,我收到以下错误:

授权错误授权验证失败。原因:未能加载公钥以验证令牌。原因:socket挂了

我在 api 中间件中添加了这些行以获取错误信息:

仅当套接字不在本地运行时才挂起的原因是什么?

0 投票
0 回答
48 浏览

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

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

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

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

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

预期行为

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

实际行为

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

{“活跃”:假}

如何繁殖?

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

看到它不起作用。

0 投票
1 回答
39 浏览

node.js - 如何将社交登录用于带有 keycloak 的自定义反应页面

我想用谷歌登录但用keycloak实现类似的东西,我也想使用自定义反应页面。例如,有一个谷歌图标按钮,点击该按钮后,用户应该被重定向到社交登录。

还有什么方法可以获取使用社交登录登录应用程序的用户的 jwt 令牌。有一个使用用户名和密码登录的 api,但我找不到与社交登录令牌相关的任何内容。

0 投票
1 回答
38 浏览

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

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

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

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