问题标签 [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.
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,但是,用户名不知何故没有正确给出。
该方法的签名是确定的,它得到了用户名,它是如何期望的。
我在这里缺少什么?
azure-active-directory - KeyCloak 与 Azure B2C 用户名映射问题的集成
我们已将密钥斗篷与 Azure ADB2C 集成为身份提供者。在从 b2c 令牌映射 keycloak 中的用户声明时,我看到“子”声明为空白。B2C 策略或 Keycloak 映射配置设置中是否有任何需要修改的内容。请分享您的建议。我非常感谢您花时间考虑这个问题。
node.js - 没有会话的 Keycloak Node.JS
我正在尝试使用 Keycloak 在 NodeJS 上实现 keycloak 身份验证。我想在授权请求标头或请求 cookie 中使用 JWT。
我关注了文档,但它使用了快速会话。因此请求中不包含 JWT,而是包含与 JWT 匹配的服务器上的会话 ID。我不想使用会话,而只想使用附加到客户端请求的 JWT。
这是我完成的代码:
谢谢 !
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>
谢谢你。
reactjs - 使用 keycloak 保护特定的反应页面
我正在将 Keycloak 的身份验证恶魔项目构建到一个反应项目中。我有一个公共页面和一个私人页面。私人页面检查用户是否已登录,并根据连接状态显示登录或注销按钮。这部分效果很好。当我单击登录按钮时,我被重定向到 Keycloak 门户。登录后,我被重定向到私人页面,我可以使用专用按钮注销。
但是当我导航到公共页面并返回私人页面时,或者只是刷新私人页面时,连接似乎已断开。然后我点击登录按钮,连接回来了,没有被重定向到 keycloak 门户。
那里有私人页面:
RenderAnonymous 和 RenderAuthenticated 是相同的,除了身份验证条件:
用户服务:
keycloak 的初始化是从 index.js 启动的:
我不明白问题出在哪里......是流量问题吗?https://www.keycloak.org/docs/latest/securing_apps/index.html#_javascript_implicit_flow
keycloak - Keycloak 授权验证。未能加载公钥以验证令牌。原因:socket挂了
我正在使用 keycloak 来保护具有仅承载身份验证的快速 API。
当 API 在本地运行时,我可以请求令牌以正常使用服务,但是当它在公共 IP 上运行时,我收到以下错误:
授权错误授权验证失败。原因:未能加载公钥以验证令牌。原因:socket挂了
我在 api 中间件中添加了这些行以获取错误信息:
仅当套接字不在本地运行时才挂起的原因是什么?
keycloak - Keycloak:通过令牌交换检索时访问令牌不活动
当您交换新主题时,令牌交换似乎无法正常工作。
返回一个访问令牌,但是当您自省它时,它是不活动的。这会导致像 nest-keycloak-connect 这样的库无法与新令牌一起使用,因为您正确获得了未经授权的异常。
我已经仔细检查过主机与发行者和内省者相同,并且我一直在通过 Postman 运行测试,但没有运气。
预期行为
Access Token 和 Id Token 应该能够访问应用程序,就像用户手动登录一样。
实际行为
当访问令牌被自省时,它会错误地报告令牌不活动。
{“活跃”:假}
如何繁殖?
为您的管理员用户生成访问令牌。使用该令牌将令牌交换为另一个用户令牌。尝试将新令牌与令牌/内省一起使用
看到它不起作用。
node.js - 如何将社交登录用于带有 keycloak 的自定义反应页面
我想用谷歌登录但用keycloak实现类似的东西,我也想使用自定义反应页面。例如,有一个谷歌图标按钮,点击该按钮后,用户应该被重定向到社交登录。
还有什么方法可以获取使用社交登录登录应用程序的用户的 jwt 令牌。有一个使用用户名和密码登录的 api,但我找不到与社交登录令牌相关的任何内容。
keycloak - Keycloak - 在弹出窗口中登录
我在 iframe 中使用 keycloak。我的 keycloak 客户是 Okta。
使用我当前的配置,keycloak 只是重定向到 okta 登录页面。这意味着它们也在 iframe 中打开。我真的很想改变这一点,因为它与我拥有的一些主要安全策略相矛盾。
谁能告诉如何重定向 keycloak 以使用 react/javascript 在弹出的 winodw 中打开 okta 登录。