【问题标题】:Authenticated, read-only access to GitHub's API from Javascript通过 Javascript 对 GitHub 的 API 进行经过身份验证的只读访问
【发布时间】:2013-05-02 04:31:42
【问题描述】:

我想将我在 GitHub 上的一些代码嵌入到我的博客中。到目前为止,我发现的最好方法是使用http://www.jamesward.com/2012/06/15/dynamically-rendering-github-files-in-web-pages(稍作修改以修复base64解码),然后对其进行一些自定义语法突出显示。

但是,如果没有身份验证,这将受到 GitHub 强制执行的 60 个请求/小时的速率限制。我不清楚在这种情况下身份验证如何工作——因为我可能使用的任何身份验证令牌都需要成为我博客上 JavaScript 的一部分,所以它基本上是公开的......

而且,即使我能够以某种方式验证这种使用(可能通过将我的Origin 域与我的 GitHub 用户帐户连接起来?),这是否意味着我博客的所有读者都将计入这个共享速率限制,与每个读者都被计入他自己的 60/小时限制的未经身份验证的情况相比?

【问题讨论】:

    标签: authentication cors github-api rate-limiting


    【解决方案1】:

    首先要回答第二个问题——是的,就是这样。经过身份验证后 - 您在用户之间共享一个配额。未经身份验证时 - 配额在用户之间“分配”(我猜是基于 IP 地址)。

    关于通过 JavaScript 与 GitHub 的 API 进行身份验证的通信——是的,您必须将令牌(或用户名和密码)放入您的脚本中并公开。你显然不想这样做。您“预期”解决此问题的方式是拥有服务器端。在浏览器中执行的 JavaScript 将与您的服务器通信(没有速率限制,您可以根据需要保护它),服务器将与 GitHub 的 API 通信并将结果返回到您的 JS 脚本。由于没有人可以看到您服务器的代码,因此用于身份验证的凭据是不公开的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 2014-01-05
      • 1970-01-01
      • 2014-05-11
      相关资源
      最近更新 更多