PHP RESTful API接受身份验证


PHP RESTful API to accept authentification

我正在开发一个PHP REST API。我想需要一个用户密钥来访问API。我不知道如何做到这一点,我只是发出一个密钥,让他们在POSTGET上发送每个API请求吗?如果可以的话,请帮我用最简单的术语解释一下,我知道这是很多人想做的事情,它让很多人困惑,不仅仅是我自己。

我也希望能够限制使用,我正在考虑将每个命中存储在MySQL数据库或内存中的东西。我刚刚在Github API请求的头部看到了这个X-RateLimi-Limit 5000X-RateLimi-Remaining 4996的数量每击中一次减少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

添加新应用的url为:http://support.lampcms.com/index.php?a=editapp