我正在尝试将声明添加到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-user
和x-vouch-idp-claims-name
http头下看到我的电子邮件和姓名。但是,我希望Map这些头以使用更合适的内容。
我试过了
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header Remote-User $http_x_vouch_idp_claims_name;
但是它似乎不起作用。在我的proxy_set_header
中使用的正确变量名是什么?
1条答案
按热度按时间hfyxw5xn1#
我需要将原始的OIDC ID令牌代理到下游服务。我能够用这个设置解决这个问题...
我将Vouch Proxy配置设置为添加
X-Vouch-IdP-IdToken
标头:然后,在ingress-nginx注解中,我可以通过将
configuration-snippet
注解中的auth_request_header
设置添加到以下内容中,将X-Vouch-IdP-IdToken
重命名为Authorization
: