Javascript 客户端GitHub身份验证
我正在使用Javascript对GitHub进行基本身份验证。例如,以下shell命令从Github获取令牌:Javascript 客户端GitHub身份验证,javascript,github-api,Javascript,Github Api,我正在使用Javascript对GitHub进行基本身份验证。例如,以下shell命令从Github获取令牌: curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations 使用jQuery和AJAX如何实现这一点?您是否在问是否有一种方法可以纯粹从客户端获取oAuth令牌?如果是,答案是否定的 但是,你有一些解决办法 Github.js: Gate
curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations
使用jQuery和AJAX如何实现这一点?您是否在问是否有一种方法可以纯粹从客户端获取oAuth令牌?如果是,答案是否定的 但是,你有一些解决办法 Github.js: Gatekeeper是一个开源服务器端组件,可以帮助oAuth令牌管理: 您还可以使用Firebase之类的简单登录,在这种情况下,您不需要管理任何服务器端服务: 使用jQuery在HTTP头中包含基本身份验证数据 您可以使用
Authorization
字段在标题中包含基本身份验证详细信息。您已经了解了jQuery的工作原理。此代码段包含您缺少的部分:
let auth = btoa(username + ":" + password);
jQuery.ajax({
url: ...,
headers: { Authorization: "Basic " + auth }
...
});
注:
btoa
和atob
(读作B到A和A到B)是内置函数,可转换为和从。有关更多信息,请参阅。他特别询问了basic auth,您完全可以通过浏览器执行此操作。有Octokit JS库可以做到这一点。是的,这是正确的,他询问了基本身份验证,但我认为您不能使用基本身份验证来检索oAuth令牌(我认为他在这里需要,不是吗?),即使使用这些库。我相信您必须将回调映射到实际的服务器(而不仅仅是web浏览器),这意味着纯客户端JS无法工作。您可以只在请求头中包含用户名和密码。如果您使用的是个人访问令牌,那么您永远不需要oAuth.usiver snippet,在客户端JavaScript中这样做安全吗?