问题标签 [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 回答
2071 浏览

authentication - 使用 Keycloak-proxy 进行 Zabbix HTTP 身份验证

我正在尝试使用 keycloak-proxy 将 Zabbix UI 与 Keycloak SSO 集成。我的设置如下:

  1. Nginx 是入口点:它处理“虚拟主机”,将请求转发到 keycloak-proxy。
  2. Keyclock-proxy 配置了 client_id、client_secret 等,用于向 Keycloak 认证用户;
  3. Apache 上的 Zabbix 仪表板,默认设置:我启用 HTTP 身份验证。

我在 Keycloak 和 Zabbix 中都创建了一个测试用户。身份验证流程正常:我被重定向到 KeyCloak,我进行身份验证,但我总是收到“登录名或密码不正确”。来自 Zabbix UI。

我究竟做错了什么?有没有人尝试在 Zabbix 中使用 OIDC 身份验证?

我正在使用 Zabbix 4.0、KeyCloak 4.4、Keycloak-proxy 2.3.0。

密钥斗篷代理配置:

0 投票
1 回答
1110 浏览

nginx - 使用 Keycloak-proxy 在 zabbix 中进行身份验证

我正在尝试使用 Keycloack 在 zabbix 中设置条目。我的设置如下:

  1. Zabbix 在 apache host1:62200 中启动
  2. 密钥斗篷在 host2:63665 中开始
  3. Nginx 是 host1:62236 上的入口点:它处理“虚拟主机”,将请求转发到 keycloak-proxy(localhost:4180)。
  4. 我在 zabbix host1:62237 上安装了 nginx 代理,因为我无法通过 host1:62200/zabbix 的方式

keycloak-gatekeeper 配置了 client_id、client_secret 等,用于对 Keycloak 进行用户身份验证;Apache 上的 Zabbix 仪表板,默认设置:我启用 HTTP 身份验证。

它配置网守

网守的 Nginx 配置

我得到授权表格并重定向到 zabbix,但总是错误地认为我没有在 zabbix 中获得授权。

我究竟做错了什么?

0 投票
1 回答
663 浏览

keycloak - 由于“非法 base64 数据”,Keycloak-gatekeeper 无法解码“状态”

尝试访问受保护的资源时,我从 keycloak-gatekeeper 收到此错误

这是我的码头工人撰写:

0 投票
3 回答
34815 浏览

keycloak - Keycloak-gatekeeper:“aud”声明和“client_id”不匹配

aud设置声明以避免以下错误的正确方法是什么?

我通过硬编码aud声称与我的client_id. 有没有更好的办法?

这是我的docker-compose.yml

0 投票
1 回答
953 浏览

java - Keycloak terms.ftl 文件网址

我正在研究 Keycloak 主题。我们在哪里定义像 href="${url.loginUrl}" 这样的 URL。我想定义要在 href 中发送的 terms.ftl 文件 url 变量。

我尝试运行 href="${url.termsUrl}"。但它不工作

0 投票
1 回答
494 浏览

kubernetes - 在 K8S 集群中使用 KeyCloak 网关

我在本地成功运行 KeyCloak 网关,为 Kubernetes 仪表板提供 Google OIDC 身份验证。但是,当应用程序部署为集群本身的 pod 时,使用相同的设置会导致错误。

当网关在 K8S pod 中运行时,我看到的错误是:

我使用以下选项调用网关:

将这些设置应用于 pod 中的容器后,我可以浏览到网关,重定向到 Google 以登录,然后重定向回生成上述错误的网关。

什么可以解释在本地运行应用程序和在会产生上述错误的 pod 中运行它之间的差异?

0 投票
0 回答
233 浏览

spring-boot - 如何使用 keycloak Gatekeeper 保护 Spring Boot 应用程序?

我有一个 spring boot 应用程序,我需要用 keycloak 看门人保护它。我应该配置属性文件还是只在应用程序中添加网守配置文件?还是我应该单独拥有网守配置文件?在 keycloak 管理控制台中是否需要进行任何配置?

0 投票
1 回答
532 浏览

node.js - 使用 keycloak-nodejs-connect 时出错 - “无法在仅承载模式下交换代码以获取授权”

我正在尝试使用 keycloak-nodejs-connector 实现对 Keycloak 进行身份验证的 Node.js 客户端应用程序,并使用外部 IDP。我一直在关注此处的文档以使用它。

但是,在进行身份验证后,客户端应用程序会抛出错误:“Cannot exchange code for grant in bearer-only mode”。这让我很困惑,因为客户端没有配置为仅承载模式,而是配置为机密模式。

客户端应用程序成功地将我重定向到我可以登录的外部 IDP。如果我查看 Keycloak 管理控制台,我还会在登录后看到自己的活动会话。但是,客户端应用程序仍然抛出错误。

这是我从 Keycloak 管理控制台中提取的客户端配置:

这是我的 app.js 文件中针对 Node 的实现:

我在与 app.js 相同的目录中有 keycloak.json,它正在获取上述客户端配置详细信息。

0 投票
0 回答
684 浏览

azure - Azure Active Directory OIDC 返回错误的 iss 声明值

我正在尝试通过 Open ID Connect 将Keycloak Gatekeeper实例连接到 AAD。为此,我正在使用v2端点https://login.microsoftonline.com/<tenantID>/v2.0

不幸的是,甚至在我登录之前,日志中就有一个错误:

我做了一点研究,发现该值与端点found=返回的值相同。v1这使我得出结论,应用程序可能使用了错误的版本。为了确保它始终在使用,我通过在我的应用程序注册清单中v2进行设置来添加修复了 enpoint 的版本。"accessTokenAcceptedVersion": 2不幸的是,这也没有解决问题。

那么我做错了什么?还是 AAD API 有问题?

0 投票
2 回答
4479 浏览

keycloak - Keycloak 看门人:设置基本 URL

我无法找到更新我的 keycloak 网守边车的基本 URL 的方法。我的配置适用于设置为基本 URL 的服务(例如:https ://monitoring.example.com/ ),而不是自定义基本路径(例如:https ://monitoring.example.com/prometheus )。

我的 yaml 配置是:

我的问题是能够为 sidecar 设置不同的基本 URL 路径(“/prometheus”),因为当我打开https://monitoring.example.com/prometheus时,我会收到 307 重定向到https://monitoring .example.com/oauth/authorize?state=XXXXXXX 而它应该是https://monitoring.example.com/prometheus/oauth/authorize?state=XXXXXXX

我尝试使用参数“--redirection-url= https://monitoring.example.com/prometheus ”,但这仍然会将我重定向到相同的 URL。

编辑:

我的目标是能够保护多个 Prometheus 并限制对它们的访问。我也在寻找一种解决方案来设置有关领域或客户端的权限。我的意思是,一些 keycloak 用户应该能够,例如,验证和查看 /prometheus-dev 的内容,但不能查看 /prometheus-prod 的内容。

编辑2:

我错过了参数“base_uri”。当我将其设置为“/prometheus”并尝试连接到“ https://monitoring.example.com/prometheus/ ”时,我收到了良好的重定向“ https://monitoring.example .com/prometheus/oauth/authorize?state=XXXXXXX " 但不起作用。在keycloak中,日志为:

“消息:请求中未找到会话,重定向授权,错误:未找到身份验证会话”