6

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

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

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

4

2 回答 2

6

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

您可以使用该字段在标头中包含基本身份验证详细信息。Authorization您已经了解了 jQuery 的工作原理。此代码段包含您缺少的部分:

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

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

注意:btoaand atob(发音为B to AA to B)是内置函数,可以与Base64相互转换。有关更多信息,请参阅MDN 文档

于 2014-08-15T00:19:53.987 回答
4

您是在问是否有办法纯粹从客户端获取 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

于 2014-04-18T04:36:36.553 回答