PHP API 身份验证和 session

标签 php api session authentication

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

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

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

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

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

最佳答案

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

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

关于PHP API 身份验证和 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805990/

相关文章:

api - 有什么好的金融API吗?

node.js - Node js,使用 connect-memcached 时没有返回响应

php - 如果一个变量发生更改,如何替换记录?

php - 当我尝试运行 Yii 服务时,它什么也不做。 (fsockopen(): unable to connect)

python win32com : Delete multiple emails in Outlook

php - 如何在codeigniter中通过 session 获取用户名

java - 如何保证 session 属性的线程安全

php - 部署到开发服务器时 Capifony 缓存错误

javascript - 从输入框获取数据并插入到mysql数据库

android - Android 应用中的 CC BY-SA 3.0 归属