如何更改 nginx 中的基本身份验证默认标头?

如何更改 nginx 中的基本身份验证默认标头?

我在 nginx 中设置了基本身份验证

location / {
            auth_basic "Restricted Area";
            auth_basic_user_file /etc/nginx/.htpasswd;
}

因此,在我保存并重新启动 nginx 后,浏览器使用 Authorization 标头传递基本身份验证

但是我的前端应用程序也使用这个标头(Authorization)向服务器创建http请求,从而导致冲突。

有没有办法让 nginx 使用另一个标头进行基本身份验证?

例如:Authorization_basic

答案1

一个非常糟糕的解决方案是使用代理认证/Proxy-Authorization 来自其中一个服务器,并且万维网认证/Authorization。虽然 nginx 是代理身份验证器的逻辑候选者,但 IIRC 它不实现代理身份验证。o 您必须交换指定或卸载代理授权的验证。

在 nginx 代理中实现 WWW-authenticate 并替换 Authorization 标头(proxy_set_header) 具有应用程序可以识别的静态值吗?

答案2

基本身份验证 (Basic Auth) 的快速概览。

叙述:

验证

  1. APOST 要求使用example.api.com/v1/auth

Authorization: Basic YWRtaW46bGV0bWVpbg==

  1. POST 成功回复返回:

Authorization: Bearer f0222b68-a72d-4eb2-ac13-f6482cf484af

授权

  1. APOST 要求使用example.api.com/v1/users

Authorization: Bearer f0222b68-a72d-4eb2-ac13-f6482cf484af

  1. POST 成功回复返回:

资源。

相关内容