http fetch basic auth - 使用浏览器凭据

Posted

技术标签:

【中文标题】http fetch basic auth - 使用浏览器凭据【英文标题】:http fetch basic auth - use browser credentials 【发布时间】:2018-08-21 13:35:38 【问题描述】:

我的网页位于 nginx 代理后面,并设置了基本身份验证。

网页使用 ajax 调用(使用 fetch)从同一个域中获取一些数据:

data = await fetch("/data");

当我访问页面时,浏览器要求我提供用户名和密码(标准浏览器功能),正确获取所有资源(html、js、css),但是当我的 js 使用 fetch 获取一些数据时,它给了我 401 .

我的印象是,由于 fetch 调用相同的域,我提供给浏览器的凭据将被自动使用。

如何将我在浏览器中提供的认证数据传递给 js fetch 函数?

谢谢!

【问题讨论】:

Using an authorization header with Fetch in React Native的可能重复 【参考方案1】:

好的找到解决方案,添加:

credentials: "same-origin"

初始化传递给 fetch 的对象。

【讨论】:

以上是关于http fetch basic auth - 使用浏览器凭据的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 基本认证(basic auth)和摘要认证(digest auth)区别

nginx认证模块ngx_http_auth_basic_module

Nginx实现基于用户的访问控制(Ngx_http_auth_basic_module模块)

Nginx实现基于用户的访问控制(Ngx_http_auth_basic_module模块)

JAVA Http Basic auth

HTTP basic auth