限制访问公共API
问题描述:
我有一个我想提供公共访问的API,但我希望能够限制访问。限制访问公共API
我一直在思考关于Twitter的模式:
- 的Twitter允许开发者访问使用API密钥(我认为)的数据。
- Twitter还必须访问其网站上的数据以允许您发送推文/搜索。
- 所以Twitter必须能够阻止开发人员冒充Twitter并基本上使用他们的api密钥。
他们是怎么做到的?还有更好的方法吗?
答
Twitter不使用他们的REST API来为他们的网站提供动力,他们直接查询他们的数据库。因此,没有API密钥可以窃取。您可以阅读Twitter的API和网站数据库查询(大约2009年)here之间的区别。
的basic techniques Twitter使用速率限制他们的API可能会是你要考虑的,太:
未经验证的呼叫许可[少]每小时的请求。 未经身份验证的呼叫是根据发出请求的 服务器或设备的公开IP来衡量的。
允许OAuth调用[更多] 每小时的请求数,并根据 请求中使用的oauth_token进行度量。
实现依赖您的服务器平台上的机制(你应该更新你的原来的职位与),但你可以了解他们的website OAuth的(上面的第二种方法)。