搜索
系统检测到您的用户名不符合规范:

关于token验证几点不明白的地方。

浏览:2934 发布日期:2019年01月14日 分类:ThinkPHP5专区 关键字: jwt thinkphp token验证
因为之前没有用过token的验证机制,一直用的session。
把userid+随机字符串+当前时间进行md5加密后生成token,写入到缓存中,设置过期时间7200秒,如果过期了就在重新生成token,token对应的就能拿着userid的值 。原理应该就是这吧。

最近用了一个layadmin框架,官方也是建议采用token验证的方式。每次往后台请求数据的时候就带上token,然后服务器端验证token是否合法。这就有点像微信公众号通过appid和appsecret生成token一样,每次请求就要带上token。这个好像是理解了,但在验证这一层面有几点不明白。
我写了一个应用,帐号是admin密码是admin888,用帐号加密码进行aes加密后生成token保存到cookie中。如果我拿到了cookie中的token值 ,不需要帐号密码一样可以进入后台呀。

所以要设一个过期时间,保存在cookie中的token 7200秒后就过期,过期又重新生成。重新生成的时候还是用的admin和admin888来生成,那么意思还要把当前的帐号admin和密码admin888继续保存在一个地方以便token过期后继续生成用吗?

还有就是我用admin和admin888通过aes加密生成token后,如果token过期了,把生成的token进行解密重新在生成一次。但token过期后在cookie里又获取不到之前生成的token值了啊?

想想公众号的逻辑,token过期就要用appid和appsecret重新生成一次,应该还是要有个地方保存着用户的帐号和密码才对,如果保存在session中,那何必又用token机制来做应用呢?
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
革命者
积分:1644 等级:LV3
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /