问题标签 [oauth2-proxy]

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

oauth-2.0 - OAuth2-proxy 测试流程

我正在尝试使用 oauth2-proxy ( https://oauth2-proxy.github.io/oauth2-proxy/ ) 为新的 kubernetes 集群 (Azure AKS) 设置身份验证工作流。我的问题可能很愚蠢,但我有点困惑。

有没有办法在没有有效的 TLS 证书来使用 https 和在任何地方都有效的注册域的情况下测试这样的流程?因为对于我在示例和教程中看到的内容,每个人都在 Ingress 和 Oauth2 应用程序(在我的情况下是 Azure AD 应用程序注册)中直接使用 https 和注册域进行引用。在购买域名和 tls 证书之前,没有办法只拥有该工具的 POC 吗?

非常感谢!

0 投票
0 回答
131 浏览

kubernetes - oauth2-proxy 返回带有“找到”链接的白色网页,而不是提供者身份验证页面

我正在使用 oauth2-proxy (v7.2.0) 进行身份验证

注意:我使用 traefik v2 将请求重定向到通过 helm chart 部署的 oauth2-proxy。

下面,用于配置我的 oauth2-proxy 的选项

Traefik v2 中间件/入口路由

--->当我尝试使用浏览器访问应用程序后,选项“ Skip-Provider- Button ”设置为“ False ”(例如,使用URL App.mycompany.com)

  1. oauth2-proxy 显示一个用于验证的按钮。
  2. 单击此按钮后,我将被重定向到我的 gitlab 身份验证页面,我输入我的凭据,我将可以访问我的应用程序。--这是正常行为--

--->我现在的问题是当相同的选项“ skip-provider-button ”设置为“ true ”时,一旦我尝试使用浏览器访问我的应用程序,它会显示一个带有“ Found ”字样的网页,而不是重定向我直接到我的 gitlab 身份验证网页

(单词“found”是一个超链接,它的功能与选项 skip-provider-button 设置为 false 时显示的按钮相同)

当我在我使用的命令下方使用 curl 命令(我想,我不确定)时,这个问题也会阻止我进行身份验证:

在 oauth2-proxy 日志中,我看到以下内容:

任何帮助或想法将不胜感激!

0 投票
1 回答
182 浏览

kubernetes - oauth2 成功后无法加载 kubernetes 仪表板

我已经使用 kubeadm 部署了我的 kubernetes 集群 v1.23.1,并使用 keycloak 身份提供者对其进行了配置以进行身份​​验证。

keycloak IDP 的 API 服务器配置

我在另一个 pod 中运行 oauth2-proxy,它使用 keycloak idp 进行身份验证并提供令牌 (id_token)。这是我的 oauth2-proxy 部署,其中包含用于公开它的服务。

我在前面部署了 nginx 入口,以将请求路由到 oauth2-proxy,如下所示。

我正在使用从 localhost 的端口转发到端口 443 上的入口资源。

目前我面临的问题是我能够启动 url - https://kubernetes-dashboard.localdev.me:8081/从那里路由到 oauth2 代理页面我能够启动我可以的 keycloak 领域登录页面认证。但是,一旦成功完成 keycloak 身份验证,我就无法加载上游,即带有 id_token 的 kubernetes-dashboard 服务。相反,我得到了https://kubernetes-dashboard.localdev.me:8081/找不到的 404

oauth2-proxy 日志详细信息

入口控制器日志

请建议我如何将带有 id_token 的经过身份验证的会话路由到 kubernetes 仪表板服务以加载仪表板。

0 投票
0 回答
34 浏览

keycloak - 为什么“会话没有必需的客户端”出现 invalid_grant 错误?

我有一个通过 oauth2-proxy 连接到 Keycloak 的应用程序,通常一切都运行良好。

只是有时我在 oauth2-proxy 日志文件中看到以下错误:

Keycloak 日志文件中的相应消息是这样的:

我在例如“会话没有必需的客户端”是什么意思中发现了相同的错误消息?但是当我使用最新的 16.1.1 时,这个问题是针对 Keycloak 4.x 的。此外,我不使用记住我的会话。

源代码仅在 oidc/TokenManager.java 中包含此消息,其中建议存在“跨 dc 环境”的问题,但我们没有跨数据中心环境,只有三个实例在同一个 Kubernetes 命名空间中安装了最新的 Helm 图表。

还有什么可能导致这个问题?

0 投票
1 回答
34 浏览

oauth-2.0 - Oauth2-proxy 在重定向到 oath2 提供商后无法登录

最终目标:https://auth.wayofthesys.com/oauth2应该重定向到DigitalOceanGitHub提供程序并允许登录。目前导致DigitalOcean"oops something went wrong"错误和GitHub错误。"404 page not found"

回购位于此处,链接到我认为oauth2-proxy命令失败的位置:https ://github.com/autotune/pritunl-k8s-tf-do/blob/6f1afcdce7d9acde640c07f1598dd211f791890e/terraform/cluster_resources.tf#L27

有人有什么建议吗?

0 投票
1 回答
19 浏览

kubernetes - 为什么我在 GKE 上而不是本地运行时从 OAuth2 代理获得 CSRF 403?

我有一个简单的设置,它使用 OAuth2 代理来处理身份验证。它在本地使用 minikube 可以正常工作,但是当我在 oauth 回调发生时尝试使用 GKE 时,我得到 403 状态和以下消息......

登录失败:找不到有效的 CSRF 令牌。请再试一次。

有问题的网址是http://ourdomain.co/oauth2/callback?code=J_6ao0AxSBRn4bwr&state=r_aFqM9wsSpPvyKyyzE_nagGnpNKUp1pLyZafOEO0go%3A%2Fip

为了避免 CSRF 错误,应该进行哪些不同的配置?