我正在使用Javascript与GitHub进行基本身份验证。例如,以下shell命令从Github获取一个令牌:
curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations
如何使用jQuery和AJAX实现这一目标?
答案 0 :(得分:5)
您可以使用Authorization
字段在标头中添加基本身份验证详细信息。您已经了解了jQuery的工作原理。这个片段有你遗漏的部分:
let auth = btoa(username + ":" + password);
jQuery.ajax({
url: ...,
headers: { Authorization: "Basic " + auth }
...
});
注意:btoa
和atob
(发音为 B到A 和 A到B )是内置函数,并且可以转换为{ {3}}。有关详细信息,请参阅Base64。
答案 1 :(得分:3)
您是否在询问是否有办法纯粹从客户端获取oAuth令牌?如果是这样,答案是否定的。
但是,你有一些工作。
Github.js:https://github.com/michael/github
Gatekeeper是一个开源服务器端组件,可以帮助进行oAuth令牌管理:
https://github.com/prose/gatekeeper
您也可以通过简单的登录使用Firebase之类的东西,在这种情况下,您无需管理任何服务器端服务:
https://www.firebase.com/docs/security/simple-login-github.html