【问题标题】:quay.io OAuth2 Proxy: Setting Bearer token to Authorization Headerquay.io OAuth2 代理:将承载令牌设置为授权标头
【发布时间】:2021-02-13 00:38:18
【问题描述】:

我想做什么

调用由 oauth2 代理代理的 URL。如果没有可用的身份验证,oauth2 代理应该执行授权代码流。如果已经有可用的身份验证,则应将访问令牌设置为转发到上游的请求中的授权标头。

我尝试了什么

根据documentation,我希望在设置--pass-authorization-header 时,应将请求的令牌添加到授权标头中。

我还尝试了--pass-access-token,它应该设置一个 X-Forwarded-Access-Token 标头。 在我的服务中我也看不到这个标题。

有人可以向我解释我做错了什么吗?

【问题讨论】:

标签: quay.io oauth2-proxy


【解决方案1】:

我找到了解决办法。

github 问题上的这个post 导致我犯了错误。

我确实误解了请求是什么,响应是什么以及如何使用 nginx 入口处理它们。

如果您使用带有 Kubernetes 入口的 OAuth2-Proxy 使用 nginx 子请求 (https://kubernetes.github.io/ingress-nginx/examples/auth/oauth-external-auth/),则返回到 nginx 的数据实际上是 HTTP 响应,因此您需要使用 HTTP 响应标头(--pass- * 选项将请求标头配置到上游)。 尝试 --set-authorization-header 然后你需要使用这个注解让 Kubernetes 获取子请求响应头并将其添加到代理请求头中:nginx.ingress.kubernetes.io/auth-response-headers https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#external-authentication

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 2021-06-20
    • 2015-05-26
    • 2019-06-06
    • 2013-10-30
    • 2019-12-21
    • 2020-08-28
    • 2016-10-31
    相关资源
    最近更新 更多