如何解决quay.io OAuth2代理:将承载令牌设置为授权标头
我想做什么
调用由oauth2代理代理的URL。如果没有身份验证,则oauth2代理应执行授权码流程。如果已有认证可用,则应在请求中将访问令牌设置为“授权标头”,然后转发给上游。
我尝试过的
根据documentation,我希望在设置--pass-authorization-header
时,应将请求的令牌添加到授权标头中。
我还尝试了--pass-access-token
,它应该设置一个X-Forwarded-Access-Token标头。
我也看不到此标头。
有人可以告诉我我在做什么错吗?
解决方法
我找到了解决方法。
这个在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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。