为了账号安全,请及时绑定邮箱和手机立即绑定

token 怎么设置过期时间

token 怎么设置过期时间

PHP
千万里不及你 2018-09-24 16:08:58
我想设置 token 的过期时间为24小时,于是我在 token 里加入时间字符串,比如2018-09-06:$token=md5(date("y-m-d", time()) . $model . $path . "&#^@*……");可是这样有个问题,当我2018-09-06晚上11点59登录系统,过了一分钟就是2018-09-07,也就是这次登录才一分钟 token 就失效了,这肯定不符合要求,所以是不是我对 token 理解有问题?token 失效时间怎么设置才正确?还有当前端调用后端接口时,前端是通过什么方式获得 token 的?我理解是后端生成 token 后把token写进cookie里,然后前端直接调用cookie里的数据,可是这样的话是不是每次前端调用接口前都要先调用下后端存token的那个文件?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

这个是你代码的问题

一般来说Token还是需要保存的
从你这个代码来看,我推测你是不想保存token,token也不会被中途取消,只想让token到时过期,

那你可以把Token的到期时间直接写在Token明文里,到时候直接拼接就好了。

比如你的Date 是2018-9-6,那你可以直接 md5("2018-9-6 14:17:52".model.path."^@*……")."$$2018-9-6 14:17:52"

那么你的token Hash出来应该是形如efe6398127928f1b2e9ef3207fb82663$$2018-9-6 14:17:52,验证的时候,直接把后面的日期取出来再做一遍md5即可。
相当于是用$model.$path."&#^@*……"2018-9-6 14:17:52这个时间进行了一个签名


查看完整回答
反对 回复 2018-09-24
  • 1 回答
  • 0 关注
  • 14010 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信