客户端GitHub身份验证

Nic*_*kis 5 javascript github-api

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

    curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations
Run Code Online (Sandbox Code Playgroud)

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

xrd*_*xrd 5

您是否想问是否有一种方法可以纯粹从客户端获取 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

  • 他特别询问了基本身份验证,您绝对可以通过浏览器进行此操作。Octokit JS 库可以做到这一点。 (2认同)

Car*_*ith 5

使用jQuery在HTTP标头中包含基本Auth数据

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

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

    jQuery.ajax({
        url: ...,
        headers: { Authorization: "Basic " + auth }
        ...
    });
Run Code Online (Sandbox Code Playgroud)

注意:btoa和是atob(内置B到AA到B)是内置函数,可以与Base64相互转换。有关更多信息,请参见MDN文档

  • 如果您使用个人访问令牌,这也很有用,谢谢 (2认同)