为Laravel 4 RESTful API身份验证实现令牌

dav*_*der 10 php token laravel laravel-4

我是Laravel 4框架和PHP的初学者.

目前,我正在尝试在客户端应用程序和服务器之间进行简单的身份验证过程.

以下是我计划的方法:

  1. 客户端通过GET请求使用用户名和密码登录服务器.

  2. 如果成功,服务器将验证并返回令牌字符串.令牌字符串将使用用户名,密码和到期时间进行编码(散列?).

  3. 客户端提交请求,包括给定的令牌.服务器将验证令牌(解码它 - >检查用户名/密码和过期时间).如果成功,它将处理客户的请求.

使用上面给出的参数生成令牌的最佳方法是什么,并在服务器端解码?

谢谢,感谢您的时间和帮助.

小智 11

我不认为存储用某种令牌编码的用户名和密码是个好主意.而是在成功登录后生成随机令牌,并在服务器端存储与令牌相关的数据.

您可以存储每个登录记录到一些表列token,user_id,valid_until.在每次请求之后,在数据库中查找令牌,检查它是否仍然有效并user_id用于身份验证.

您可以将令牌视为一次性用户和密码,例如将令牌的前8个字符视为临时用户名,其余为密码,如果您对允许无密码访问感到不安:)

此外,您可能希望运行一些cron作业,以便每天从数据库中删除过期的记录.

  • 难道这不违反REST应该是无国籍的原则吗? (3认同)