Phil Sturgeon使用API​​ Key,最好的方法是什么?

时间:2013-02-22 17:44:15

标签: codeigniter rest

我尝试使用Phil Sturgeon(Codeigniter RestServer)的出色工作来为我服务。

我打算使用这个工作流程:

client --> client connect to my service with credentials 
server <-- check credentials in db, generate api-key for this user, and send it
client --> send request to get personal infos with new api-key in header
server <-- retrieve infos for this user from api-key, send infos
client --> another request with new api-key in header
server <-- check if api-key lifetime < 15m, if ok execute request and update lifetime else return timeout error
...

任何人都可以使用RestServer X-API-KEY帮助我这样做,或者我可以自己进行API-KEY管理? 感谢。

1 个答案:

答案 0 :(得分:0)

您不应该使用库中使用的X-API-KEY执行此操作。密钥的使用是验证您已列入白名单的应用以访问您的API。

在您的情况下,您要做的是让您的应用生成一个身份验证令牌并将其返回给客户端。然后,客户端应使用身份验证令牌发出请求。

应使用X-API-KEY来验证请求是否来自列入白名单的“客户端”。这是流程的样子:

客户 - &gt;客户端使用凭据和x-api-key连接到您的服务 服务器&lt; - 验证 x-api-key ,检查针对db的凭据,为该用户生成身份验证令牌,并在响应中将其发回 客户 - &gt;发送请求获取具有身份验证令的个人信息 服务器&lt; - 检查身份验证令牌的有效性,检索此用户的信息并返回响应 客户 - &gt;另一个带身份验证令的请求
服务器&lt; - 检查身份验证令牌是否仍然有效(检查到期时间等)并返回响应