Json Web Token是干什么
? ? ? ?簡稱JWT,在HTTP通信過程中段磨,進行身份認證取逾。
? ? ? ?HTTP通信是無狀態(tài)的,因此客戶端的請求到了服務端處理完之后是無法返回給原來的客戶端苹支。因此需要對訪問的客戶端進行識別砾隅,常用的做法是通過session機制:客戶端在服務端登陸成功之后,服務端會生成一個sessionID债蜜,返回給客戶端晴埂,客戶端將sessionID保存到cookie中,再次發(fā)起請求的時候寻定,攜帶cookie中的sessionID到服務端儒洛,服務端會緩存該session(會話),當客戶端請求到來的時候狼速,服務端就知道是哪個用戶的請求琅锻,并將處理的結(jié)果返回給客戶端,完成通信向胡。
? ? ? 通過上面的分析恼蓬,可以知道session存在以下問題:
? ? ? 1、session保存在服務端僵芹,當客戶訪問量增加時处硬,服務端就需要存儲大量的session會話,對服務器有很大的考驗拇派;
? ? ? 2荷辕、當服務端為集群時,用戶登陸其中一臺服務器件豌,會將session保存到該服務器的內(nèi)存中疮方,但是當用戶的訪問到其他服務器時,會無法訪問茧彤,通常采用緩存一致性技術(shù)來保證可以共享案站,或者采用第三方緩存來保存session,不方便棘街。
Json Web Token是怎么做的蟆盐?
? ? ? 1、客戶端通過用戶名和密碼登錄服務器遭殉;
? ? ? 2石挂、服務端對客戶端身份進行驗證;
? ? ? 3险污、服務端對該用戶生成Token痹愚,返回給客戶端富岳;
? ? ? 4、客戶端將Token保存到本地瀏覽器拯腮,一般保存到cookie中窖式;
? ? ? 5、客戶端發(fā)起請求动壤,需要攜帶該Token萝喘;
? ? ? 6、服務端收到請求后琼懊,首先驗證Token阁簸,之后返回數(shù)據(jù)。
? ? ? 服務端不需要保存Token哼丈,只需要對Token中攜帶的信息進行驗證即可启妹;
? ? ? 無論客戶端訪問后臺的那臺服務器,只要可以通過用戶信息的驗證即可醉旦。
Json Web Token怎么使用饶米?
導入依賴,下載好jar包
這就是個token生成的一個簡單的步驟
驗證token令牌進行解密獲取其中攜帶的參數(shù)的一個步驟
這就是一個簡單的JWT的簡介车胡,和一個操作檬输,再深層次的可以百度去了解一下它的源碼