已采納回答 / wulekong
可以借助redis或者mysql來(lái),登錄之后將token(或者登錄時(shí)間等新)寫(xiě)入到存儲(chǔ),之后使用中間件校驗(yàn)token是否與存儲(chǔ)中的一致token過(guò)期、黑名單等的策略也是可以使用redis來(lái)做的
2019-04-18
講師回答 / wulekong
贊?。?! 還是有同學(xué)能發(fā)現(xiàn)這個(gè)問(wèn)題的哈,這個(gè)是專(zhuān)門(mén)寫(xiě)錯(cuò)的,后續(xù)針對(duì)這個(gè)問(wèn)題會(huì)有相應(yīng)的說(shuō)明。其實(shí)這個(gè)是Laravel執(zhí)行順序的問(wèn)題,也有同學(xué)給了解法(贊)。也可以使用php的魔術(shù)方法來(lái)實(shí)現(xiàn)哈!
2019-04-06
已采納回答 / wulekong
關(guān)于token過(guò)期,簡(jiǎn)單的做法是程序拋出一個(gè)異常,強(qiáng)制客戶端重新登錄,一般在內(nèi)部系統(tǒng)可以使用比較復(fù)雜的可以設(shè)置一個(gè)token和一個(gè)refresh_token token的時(shí)效性比較短,refresh_token時(shí)效性比較長(zhǎng)refresh_token的獲取可以通過(guò)客戶端主動(dòng)獲取,也可以后端無(wú)感知下發(fā)
2019-03-28
講師回答 / wulekong
前面有個(gè)同學(xué)提了相同的問(wèn)題,應(yīng)該是Sha256這個(gè)類(lèi)用錯(cuò)了,具體的可以看看前面同學(xué)的回答
2019-03-28
已采納回答 / 煙雨非飛
可以看一下jwt的說(shuō)明文檔,服務(wù)器端生成token的時(shí)候會(huì)設(shè)置過(guò)期時(shí)間的。也就是說(shuō)服務(wù)器端會(huì)負(fù)責(zé)維護(hù)token及token是否過(guò)期的,只是jwt做了封裝,我們自己不需要關(guān)心這一塊。當(dāng)客戶端傳過(guò)來(lái)token我們只要調(diào)用驗(yàn)證的方法就知道token是否已經(jīng)過(guò)期了。
2019-03-27