PHP RESTful API接受身份验证

时间:2011-12-22 13:50:03

标签: php rest restful-authentication

我正在研究PHP REST API。我想要一个用户密钥来访问API。我不知道如何执行此操作,我是否只发出一个密钥并让它们在每个API请求中以POSTGET发送?如果可以的话,请用最简单的术语帮助我解释,我知道很多人都想做这件事,这让很多人感到困惑,而不仅仅是我自己。

此外,我希望能够限制使用,我正在考虑将每个命中数存储在MySQL数据库中,甚至存储在内存中。我刚刚在Github API请求的标题中看到了这一点 X-RateLimi-Limit 5000X-RateLimi-Remaining 4996并且每次点击时数字减少1,这是某种内置限制器吗?

1 个答案:

答案 0 :(得分:1)

只需要客户注册您的网站, 在您的CLIENTS表中创建一条记录,向它们发出一个独特的,不易猜测的ID 然后每个api访问都要求将id包含在请求中,无论是在标题中的GET还是POST中。

对每个请求进行验证,如果id不存在或无效,则返回错误代码。

对于速率限制,您是正确的,您需要有一个单独的表来存储每个客户端的请求数,然后使用X-RateLimit计数器生成这些响应头。

真的不是那么难。

我为我的项目编写了一个API,欢迎您查看源代码,它位于Api文件夹中,这里 https://github.com/snytkine/LampCMS/tree/master/lib/Lampcms/Api/

和API调用的入口点就是这个 https://github.com/snytkine/LampCMS/blob/master/www/api/api.php

添加新应用的网址是: http://support.lampcms.com/index.php?a=editapp