我想設(shè)置 token 的過期時間為24小時,于是我在 token 里加入時間字符串,比如2018-09-06:$token=md5(date("y-m-d", time()) . $model . $path . "&#^@*……");可是這樣有個問題,當(dāng)我2018-09-06晚上11點59登錄系統(tǒng),過了一分鐘就是2018-09-07,也就是這次登錄才一分鐘 token 就失效了,這肯定不符合要求,所以是不是我對 token 理解有問題?token 失效時間怎么設(shè)置才正確?還有當(dāng)前端調(diào)用后端接口時,前端是通過什么方式獲得 token 的?我理解是后端生成 token 后把token寫進(jìn)cookie里,然后前端直接調(diào)用cookie里的數(shù)據(jù),可是這樣的話是不是每次前端調(diào)用接口前都要先調(diào)用下后端存token的那個文件?
1 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊
這個是你代碼的問題
一般來說Token還是需要保存的
從你這個代碼來看,我推測你是不想保存token,token也不會被中途取消,只想讓token到時過期,
那你可以把Token的到期時間直接寫在Token明文里,到時候直接拼接就好了。
比如你的Date 是2018-9-6
,那你可以直接 md5("2018-9-6 14:17:52".
那么你的token Hash出來應(yīng)該是形如efe6398127928f1b2e9ef3207fb82663$$2018-9-6 14:17:52
,驗證的時候,直接把后面的日期取出來再做一遍md5即可。
相當(dāng)于是用$model.$path."&#^@*……"
對2018-9-6 14:17:52
這個時間進(jìn)行了一個簽名
- 1 回答
- 0 關(guān)注
- 14059 瀏覽
添加回答
舉報
0/150
提交
取消