前后端分離token驗(yàn)證設(shè)計(jì) Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?
Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?隨著技術(shù)的發(fā)展和分布式web應(yīng)用的普及,通過(guò)會(huì)話(huà)管理用戶(hù)登錄狀態(tài)的成本越來(lái)越高。因此,它逐漸發(fā)展成為一種令牌方式來(lái)進(jìn)行登錄身份驗(yàn)證,然后利用令牌獲
Jwt的token如何像session一樣去延長(zhǎng)時(shí)間?
隨著技術(shù)的發(fā)展和分布式web應(yīng)用的普及,通過(guò)會(huì)話(huà)管理用戶(hù)登錄狀態(tài)的成本越來(lái)越高。因此,它逐漸發(fā)展成為一種令牌方式來(lái)進(jìn)行登錄身份驗(yàn)證,然后利用令牌獲取緩存在redis中的用戶(hù)信息。隨著JWT的出現(xiàn),驗(yàn)證方法更加簡(jiǎn)單方便。它不使用redis緩存,而是直接基于令牌取出保存的用戶(hù)信息,驗(yàn)證令牌的可用性,使單點(diǎn)登錄更容易。
JWT通常包含兩個(gè)令牌:訪問(wèn)令牌和刷新令牌。當(dāng)用戶(hù)通過(guò)登錄等方式成功驗(yàn)證身份時(shí),服務(wù)器會(huì)生成一個(gè)訪問(wèn)令牌和一個(gè)刷新令牌,并返回前端存儲(chǔ)。兩個(gè)令牌的過(guò)期時(shí)間都將在服務(wù)器上設(shè)置,但訪問(wèn)令牌的過(guò)期時(shí)間較短,而刷新令牌的過(guò)期時(shí)間較長(zhǎng)。當(dāng)當(dāng)前端向服務(wù)器發(fā)送請(qǐng)求時(shí),訪問(wèn)令牌將與請(qǐng)求一起發(fā)送到服務(wù)器,以驗(yàn)證請(qǐng)求者的身份。當(dāng)服務(wù)器發(fā)現(xiàn)訪問(wèn)令牌已過(guò)期時(shí),它將返回失敗信息。此時(shí),前端需要使用refresh token從服務(wù)器申請(qǐng)新的訪問(wèn)令牌。如果刷新令牌沒(méi)有問(wèn)題,服務(wù)器將生成一個(gè)新的訪問(wèn)令牌。如果刷新令牌已過(guò)期,則需要要求用戶(hù)再次登錄以驗(yàn)證其身份。
總之,JWT擴(kuò)展是通過(guò)使用過(guò)期時(shí)間較長(zhǎng)的刷新令牌重新申請(qǐng)新的訪問(wèn)令牌來(lái)實(shí)現(xiàn)的。當(dāng)刷新令牌也已過(guò)期時(shí),不可能延長(zhǎng)時(shí)間。
現(xiàn)在流行的前后端分離項(xiàng)目都使用的是什么前后端框架?
開(kāi)發(fā)框架主要分為三個(gè)部分:前端、web和持久性,可以自由組合。我單獨(dú)談。
在過(guò)去,有struts 1、struts 2和spring MVC for java web framework。
目前,只有一個(gè)選擇:SpringMVC,其他人都不能玩。無(wú)論是玩耍、高格、火花還是Struts2。springmvc在用戶(hù)數(shù)量和生態(tài)方面與springmvc不一樣。
不管其他框架宣傳得多好,都不建議投入大量精力。學(xué)習(xí)框架的設(shè)計(jì)思路還可以。請(qǐng)直接在生產(chǎn)環(huán)境中使用springmvc。spring的基礎(chǔ)設(shè)施無(wú)法與其他框架相比。彈簧靴可用于快速開(kāi)發(fā)。POM可以依賴(lài)于enable注釋直接使用。
目前,有兩種主流的JPA和mybatis。
如果項(xiàng)目是數(shù)據(jù)建模,請(qǐng)使用mybatis;如果項(xiàng)目是對(duì)象建模,請(qǐng)使用JPA。
春天來(lái)了。springboot的spring數(shù)據(jù)子項(xiàng)目應(yīng)該希望將兩者統(tǒng)一起來(lái)。不僅兩者,而且其野心更大。它希望統(tǒng)一所有持久性層。DB、redis和elastic search都有相應(yīng)的項(xiàng)目。它希望將所有持久性操作抽象為存儲(chǔ)庫(kù)操作。如果成功,業(yè)務(wù)邏輯就不需要關(guān)心持久層的選擇,交換框架也非常方便。
目前,前端框架有三個(gè)選項(xiàng):react、Ag和Vue。
我不喜歡react….的語(yǔ)法。。。。
似乎Ag在中國(guó)的知名度不高,所以我們不太關(guān)注。
最后的選擇是Vue,它簡(jiǎn)單快速。支持的UI庫(kù)也比較完善。
如果您想在項(xiàng)目中開(kāi)發(fā)小型程序,建議使用Vue。語(yǔ)法高度一致。你將一眼就知道如何開(kāi)發(fā)小程序。