问题标签 [keycloak-gatekeeper]

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 回答
1341 浏览

kubernetes - keycloak/louketo 网守——不会自动重定向到 keycloak 登录

我正在将网守/louketo 设置为浏览器应用程序的反向代理。我将代理部署为 kubernetes pod 中的 sidecar,在同一集群中的其他地方使用 keycloak(但通过公共 URL 访问)。Gatekeeper 位于 nginx 入口的后面,该入口执行 tls 终止。

[我已经尝试过最新的 louketo 版本和 fork oneconcern/keycloak-gatekeeper。有些差异,但问题是一样的,所以我认为这是我的配置的问题。]

网守,无论我如何设置配置,都会读取我领域的发现 url,但不会在登录时重定向。相反,它使用/oauth/authorize路径重定向到我的上游应用程序。我可以手动强制我的应用程序再次重定向到 keycloak,但是从 keycloak 返回时,网守无法识别 cookie,并在重定向循环中捕获我。

似乎我犯了一些简单的配置错误,但我已经为此工作了两天,而且我束手无策。(甚至对 go 代码进行了额外的调试,但还没有对其进行足够的研究以真正知道它在做什么。)

我的配置(尝试了许多不同变体的最佳猜测):

入口服务https://dev.my-domain.com并路由到端口 4000,这是身份验证代理边车。它使用 let-encrypt 证书设置,并终止 tls。我不在代理中使用 tls(我应该吗?)。端口 3000 的上游应用程序。Keycloak 位于 auth.my-domain.com。在auth-proxy-keycloak-config.yaml我有加密密钥和client_id。keycloak 客户端是为公共访问和标准流程设置的(因此我认为不需要 client_secret)。我已经摆弄了各种 uri 设置,并且还为 CORS 输入了 web origins "*" 以进行测试。

当我在浏览器中尝试受保护的 url 时,我看到:

在代理日志中,它会将我重定向到 /oauth/authorize,而不是https://auth.my-domain.com/auth/realms/my-realm/protocol/openid-connect/auth我认为它应该重定向我的位置。

更新——正如@jan-garaj 在评论中指出的那样,/oauth/*不应该被列入白名单。(我从对其他人答案的一个可能错误的解释中得到了这一点。)然后我不得不使 cookie 不是 http-only,最后解决了这个问题 - Keycloak-gatekeeper: 'aud' claim and 'client_id' do not match。 ..之后它的工作原理!

0 投票
1 回答
48 浏览

keycloak - 无法在 keycloak 和 Gatekeeper 之间进行通信

我完全是 key-cloak 和 keycloak-gatekeeper 的新手我在我的机器上运行 keycloak,地址为 localhost:8080,因为我的网守在 minikube 环境中运行以下是我的配置和部署文件

我的配置文件如下:

我已经在 discovery-url 参数中设置了 localhost 路径。

因此,通过上述配置,我无法与 keycloak 进行通信。请提供有关此行为的一些指导。非常感谢任何形式的帮助。

0 投票
0 回答
24 浏览

keycloak - 使用 --backup 选项运行 keycloak slave 时,管理 url 控制台不可用

我在域主从配置中运行 keycloak。为了在master宕机的情况下进行dc备份,我配置了这样一种方式,当master宕机时,能够通过jboss cli使用命令连接到域控制器

jboss-cli --connect --controller=localhost /host-slave:write-local-domain-controller

但无法访问管理控制台

我不确定为什么当从属接管为主时管理控制台不可用。有人可以对此有所了解吗

谢谢,AR

0 投票
2 回答
334 浏览

keycloak - 如何使用 java keycloak 管理库在 keycloak 中处理多个操作之间的事务

我想在 keycloak 中实现交易功能。我正在创建一个用户,然后是一个角色并将该角色与用户相关联。我希望在一个事务中完成所有这些操作。这是我的代码片段:

0 投票
0 回答
74 浏览

keycloak - Keycloak 自定义身份验证

我是 Keycloak 的新手,现在我尝试添加自定义身份验证器,我只是从链接此 url 获取源代码并构建 jar 并部署在 keyclaok jboss 部署文件夹中添加尝试添加到提供程序文件夹下。

但是 keycloak 服务器没有在 keycloak 的身份验证流程中显示我的自定义身份验证器。

截图-1

截图-2

任何人请帮助我

0 投票
1 回答
280 浏览

jwt - Keycloak 如何在新的浏览器窗口中确定用户?

我试图理解以下问题:

有:

  • app1.gatekeeper-test.com
  • app2.other-url.com

这两个客户端(app1,app2)在同一个领域(受 2 个关守保护)都指向同一个资源服务器 - Cookie 是全范围的。

  1. user1app1.gatekeeper-test.com.
  2. app2.other-url.com在一个新选项卡中打开它会自动将我登录为user1.
  3. 如果我app1.gatekeeper-test.com在私人窗口中打开,我需要再次登录。
  4. 没有什么是全局范围的,我找不到 keycloak 如何确定用户的原因。

这怎么可能?必须有一些前端状态机制让 Keycloak 知道,这是user1,它正在尝试访问 app2?我很困惑......(在 Chrome 80.0.3987.87 上测试)

0 投票
0 回答
1125 浏览

keycloak - 通过 iFrame 访问时的 Keycloak LOGIN_ERROR

尝试使用 iFrame 访问 Keycloak 登录时遇到问题。我收到以下错误:

尝试通过 chrome 浏览器访问它时工作正常,

附加信息

使用部署了单个 Keycloak 实例的 K8 集群。

0 投票
1 回答
329 浏览

keycloak - 无法通过 ajax 请求调用受 Gatekeeper-keycloak 保护的 Web 服务

我有受网守(louketo-proxy)保护的网络服务。当我通过 ajax 请求调用受保护的服务时,它不会将我重定向到登录页面。它向我显示消息“跨域请求被阻止:同源策略不允许在http://127.0.0.1:3000/app-name/api/getSession读取远程资源。(原因:CORS 标头 'Access-Control-Allow -原点缺失)。”

下面是网守配置文件:

我使用的 Keycloak 版本是 10.0.2

在此处输入图像描述

0 投票
1 回答
88 浏览

keycloak - 无法从应用程序加载 keycloak 身份验证页面,使用 ajax 请求调用受保护资源

我已经为 IAM 配置了 keycloak,并使用网守作为代理。当我通过 ajax 请求从我的 Angular 应用程序调用受保护资源时,它不会将我重定向到 keycloak 的登录页面,尽管在浏览器请求中调用它显示我请求登录页面。任何帮助将非常感激。

在此处输入图像描述

0 投票
1 回答
9882 浏览

keycloak - 如何将keyclock重定向到应用程序的页面并获取令牌

我正在使用 keycloak 的登录和注册页面。对于登录,我使用:

这很好用,因为我可以使用上面的代码重定向到收到令牌的应用程序页面。但是,如果用户单击注册链接并注册为新用户,我会看到浏览器重定向到:

我想要注册后的 keycloak 回调,我可以在其中获取令牌并将用户重定向到应用程序的原始安全页面,用户在登录/注册之前想去该页面