quay.io OAuth2代理:将承载令牌设置为授权标头

时间:2020-10-30 14:26:33

标签: quay.io oauth2-proxy

我想做什么

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

我尝试过的

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

我还尝试了--pass-access-token,它应该设置一个X-Forwarded-Access-Token标头。 我也看不到此标头。

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

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

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

如果您将OAuth2-Proxy与使用nginx子请求(https://kubernetes.github.io/ingress-nginx/examples/auth/oauth-external-auth/的Kubernetes入口一起使用,则返回nginx的数据实际上是HTTP响应,因此您将需要使用HTTP Response标头(- 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