我试着用菲尔·斯特金(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密钥管理?谢谢。
发布于 2013-04-09 20:47:31
您不应该使用库中使用的X键来执行此操作。密钥的使用是对已被白名单上的应用程序进行身份验证,以访问API。
在你的例子中,你想要做的是让你的应用程序生成一个令牌并将它返回给客户端。然后,客户端应该使用auth令牌进行请求。
应该使用X键来验证请求是否来自白名单中的“客户端”。下面是流程的样子:
client ->client用凭据和x-api-key连接到服务
server <--验证x-api-key,根据db检查凭据,为该用户生成auth令牌,并在响应中将其发回
client ->发送请求以获取带有auth令牌的个人信息
server <--检查auth令牌的有效性,检索该用户的信息并返回响应客户端->另一个带有auth令牌的请求
服务器 <--检查auth令牌是否仍然有效(检查过期时间等)并返回响应
https://stackoverflow.com/questions/15030165
复制相似问题