PHP API身份验证和会话

时间:2012-01-10 15:42:15

标签: php api session authentication

我有一个广泛依赖会话的PHP应用程序。我们现在正在考虑为用户构建API。我们最初的想法是,用户需要使用他们的电子邮件地址,密码和API密钥(每个用户都是唯一的)对api进行身份验证。

然而,由于当前的应用程序(包括模型)广泛依赖用户会话,我不确定最佳方法。

假设API请求已正确验证,是否可以接受:

  • 在用户通过身份验证后启动API调用会话
  • 运行模型并将json / xml返回给用户
  • 终止会议

这意味着会话为每个API调用实例化,然后立即刷新。这个可以吗?或者我们应该考虑其他替代方案吗?

1 个答案:

答案 0 :(得分:1)

根据我创建API的经验,我发现会话最好只持续一个请求,并在每个执行周期中重新创建会话信息。

如果您的会话实例化很重要,这显然会引入开销,但是如果您只是针对数据库检查凭据,则应该没问题。此外,您应该能够根据用户标识符缓存APC或memcache等任何繁重的工作,而不是减少重新创建会话所需的工作,同时确保在每个请求中验证身份验证。