PHP API身份验证和会话

Jon*_*noB 7 php authentication api session

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

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

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

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

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

Pau*_*ain 2

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

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