我是Laravel 4框架和
PHP的初学者.
目前,我正在尝试在客户端应用程序和服务器之间进行一个简单的身份验证过程.
以下是我的计划方法:
>客户端通过用户名和密码的GET请求登录到服务器.
>服务器验证并返回一个令牌字符串,如果成功.令牌字符串将使用用户名,密码和到期时间进行编码(散列?).
>客户端提交请求,包括给定的令牌.服务器将验证令牌(解码 – >检查用户名/密码和过期时间).如果成功,它将处理客户的请求.
使用上述给定的参数生成令牌的最佳方法是什么,并在服务器端进行解码?
谢谢,我感谢您的时间和帮助.
我不认为存储用某种形式的令牌编码的
用户名和密码是个好主意.在成功
登录后
生成随机令牌,并在服务器端存储与令牌相关的数据.
您可以将关于每个登录的记录存储到具有列token,user_id,valid_until的某些表中.
在每个请求之后,在数据库中查找令牌,检查它是否仍然有效,并使用user_id进行身份验证.
您可以将令牌视为一次性用户和密码,例如将令牌的前8个字符视为临时用户名,其余为密码,如果您不允许无密码访问感到不安:)
此外,您可能希望运行一些cron作业,以便每天从数据库中删除过期的记录.