发布
社区首页 >问答首页 >实现Laravel 4 RESTful API身份验证的令牌

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

Stack Overflow用户
提问于 2013-09-18 03:11:29
回答 2查看 17.1K关注 0票数 10

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

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

以下是我计划的方法:

  1. 客户端通过带有用户名和密码的GET请求登录到服务器。
  2. 如果成功,服务器将验证并返回令牌字符串。令牌字符串将被编码(散列?)具有用户名、密码和过期时间。
  3. 客户端提交一个请求,包括给定的令牌。服务器将验证令牌(解码它、->、检查用户名/密码和过期时间)。如果成功,它将处理客户端的请求。

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

谢谢,我很感激你的时间和帮助。

EN

回答 2

Stack Overflow用户

发布于 2013-09-18 10:16:09

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

您可以将有关每次登录的记录存储到包含tokenuser_idvalid_until列的表中。每次请求之后,在数据库中查找令牌,检查它是否仍然有效,并使用user_id进行身份验证。

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

另外,您可能需要运行一些cron作业,以便每天从数据库中删除过期的记录。

票数 11
EN

Stack Overflow用户

发布于 2015-05-26 13:48:50

您可以使用JSON令牌进行身份验证,从而完全消除会话和cookie。Facebook也采用了类似的方法。一旦你用电子邮件和pwd登录,你就会得到一个Web令牌,所以即使它被黑了,你也不能从它那里得到pwd。可以设置过期令牌的时间限制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18863236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档