JS实现HTTP请求头-Basic Authorization

JavaScript031

JS实现HTTP请求头-Basic Authorization,第1张

HTTP协议中的 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证,通常会在服务器返回 401 Unauthorized 状态码以及 WWW-Authenticate 消息头之后在后续请求中发送此消息头。

格式是Basic字符串+空格+ 用户名:密码 的Base64编码。

将凭证<credentials>部分进行Base64编码,然后再拼接字符串'Basic ',就可以生成基础验证方案。

因为DOMString 是16位编码的字符串,如果有字符超出了8位ASCII编码的字符范围时,在大多数的浏览器中对Unicode字符串调用 window.btoa将会造成一个 Character Out Of Range 的异常。

所以下列方法将UTF-16的 DOMStrin 转码为UTF-8的字符数组然后再编码。

将UTF-16的 DOMString 转码成UTF-8的字符串进行base64编码

使用 eoLinker 发送Basic Auth,输入用户名scar 密码123456

PS: eoLinker是一个很好用的接口管理网站,前端测试很方便

在JS Bin运行后,发现和eoLinker结果一致,成功!!

Authorization

Authentication

Javascript base64

Base64的编码与解码

Base64笔记-阮一峰老师

btoa方法

var responseHeaders = {"access-control-allow-origin": "*","access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS","access-control-allow-headers": "content-type, accept","access-control-max-age": 10,"Content-Type": "application/json"}

我用google查到了正确的头设置,希望可以帮助你。(注意allow-headers需要使用加上‘accept’).最更本的是我原本的头设置是错误的。不是access-control-request-headers.应该是access-control-allow-headers