正在重命名k8s Ingress上的担保代理http标头



我正试图在http标头中添加一个声明。我有一个带的k8s入口

annotations:
nginx.ingress.kubernetes.io/auth-signin: "https://vouch.example.com/login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err"
nginx.ingress.kubernetes.io/auth-url: https://vouch.example.com/validate
nginx.ingress.kubernetes.io/auth-response-headers: 'X-Vouch-User, X-Vouch-Idp-Claims-Name'
nginx.ingress.kubernetes.io/auth-snippet: |
auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt;
auth_request_set $auth_resp_err $upstream_http_x_vouch_err;
auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount;

和一个凭证配置:

vouch:
headers:
idtoken: X-Vouch-IdP-IdToken
claims:
- name

一切正常,我可以很好地进行身份验证,并且我可以分别在x-vouch-userx-vouch-idp-claims-namehttp标头下看到我的电子邮件和姓名。然而,我想映射标题以使用更合适的内容。

我试过

annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Remote-User $http_x_vouch_idp_claims_name;

但它似乎不起作用。在我的proxy_set_header中使用的正确变量名是什么?

我需要将原始OIDC ID令牌代理到下游服务。我用这个设置解决了这个问题。。。

我设置Vouch Proxy配置以添加X-Vouch-IdP-IdToken标头:

vouch:
headers:
idtoken: X-Vouch-IdP-IdToken

然后在ingress nginx注释中,我可以通过将configuration-snippet注释中的auth_request_header设置添加到以下内容来将X-Vouch-IdP-IdToken重命名为Authorization

annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
auth_request_set $auth_resp_x_vouch_idp_idtoken $upstream_http_x_vouch_idp_idtoken;
proxy_set_header Authorization "Bearer $auth_resp_x_vouch_idp_idtoken";