客户端GitHub身份验证

时间:2013-08-08 11:17:05

标签: javascript github-api

我正在使用Javascript与GitHub进行基本身份验证。例如,以下shell命令从Github获取一个令牌:

    curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations

如何使用jQuery和AJAX实现这一目标?

2 个答案:

答案 0 :(得分:5)

使用jQuery

在HTTP标头中包含基本身份验证数据

您可以使用Authorization字段在标头中添加基本身份验证详细信息。您已经了解了jQuery的工作原理。这个片段有你遗漏的部分:

    let auth = btoa(username + ":" + password);

    jQuery.ajax({
        url: ...,
        headers: { Authorization: "Basic " + auth }
        ...
    });

注意:btoaatob(发音为 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