【问题标题】:Restricting access to a public API限制对公共 API 的访问
【发布时间】:2012-07-26 04:53:55
【问题描述】:

我有一个 API 想要提供公共访问权限,但我希望能够限制访问权限。

我一直在思考 Twitter 的模式:

  • Twitter 允许开发人员使用 api 密钥访问数据(我认为)。
  • Twitter 还必须访问其网站上的数据,以便您发布推文/搜索。
  • 因此 Twitter 必须能够阻止开发人员冒充 twitter 并基本上使用他们的 api 密钥。

他们是怎么做到的?还有更好的方法吗?

【问题讨论】:

    标签: web-services api web-applications rate-limiting


    【解决方案1】:

    Twitter 不使用他们的 REST API 来支持他们的网站,他们直接查询他们的数据库。因此,没有 API 密钥可以窃取。您可以阅读 Twitter 的 API 和网站数据库查询(大约 2009 年)here 之间的区别。

    basic techniques Twitter 用来限制其 API 的可能也是您想要考虑的:

    每小时允许 [更少] 请求进行未经身份验证的呼叫。 未经身份验证的呼叫是根据面向公众的 IP 来衡量的 发出请求的服务器或设备。

    允许调用 OAuth [更多] 每小时的请求,并根据 oauth_token 中使用的 请求。

    实现的机制取决于你的服务器平台(你应该用它更新你的原始帖子),但你可以在他们的website 上了解 OAuth(上面的第二种技术)。

    【讨论】:

      猜你喜欢
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多