1樓:
看了相關的資料,來答一下
用jwt實現單點登入,要考慮續簽和登出。
續簽:主要通過更新token和黑名單解決,黑名單如果採用userId為key,時間為value,只要後續訪問的token簽名時間組織value之前就算失效,這樣就不用生成過多的黑名單。
登出,則是不生成新token,直接更新黑名單為退出時間,這樣以後訪問的token都會無效。
2樓:可少
jwt不就是
json格式,簽名,加密解密,放http頭???這麼個東西還搞乙個官網,弄得正式的像個規範??那我搞個xwt規範好了,把json換成xml 笑尿
有證據表明,jwt可能是個經過包裝的技術炒作
Okta 公司的 Randall Degges 說之前很多 jwt 的部落格軟文都是他們公司寫的,
最近他卻在各種大會上反對用 jwt 做session管理。有興趣的可以Google一下 jwt + Randall Degges 看看。
不過他提出的反對理由,我個人看來並不是很有說服力。也許裡面又牽涉到什麼利益關係。
Why JWTs Suck as Session Tokens
JSON Web Tokens Suck - Randall Degges (DevNet Create 2018)
3樓:王絮飛
缺點在於,一大堆文章告訴你不要用jwt代替session,卻沒人告訴你在介面這種加不上session的地方應該用什麼來驗證,反正oauth就是用token來驗證,jwt是token的一種.
4樓:「已登出」
jwt最好用於"一次性授權Token"的設計, 時效短.
對於長時間的Session, 比如登陸這種, jwt沒有太大使用的必要.
題主可以看一下這個:
不要用 JWT 來做 Web 應用的會話管理 (文章最後有英文引用, 英文好的話推薦看英文)
pros-and-cons-in-using-jwt-json-web-tokens
如果你非要用來做Session等服務的話
可以看一下這個Invalidating JSON Web Tokens
5樓:
我覺得倒沒有什麼大的問題,不過相對於cookie-session,還是有一些東西考慮進去的:
大致再複習下兩個方案吧:Session會把狀態維護在server端,瀏覽器只儲存sessionId(當然你可以儲存更多額外的東西),服務端根據sessionId再去讀取狀態(使用者許可權之類),可以理解為雙方被月老牽了紅線,會話通訊期間有個保持,使用session-cookie意味著stateful;JWT則可以把許可權控制資訊和更多的內容傳遞給瀏覽器或其他終端(mobile等)使用,服務端(一般就是auth伺服器嘍)負責發放JWT,模擬保險箱給你發鑰匙,你只要有鑰匙,什麼時候開都行,不需要在客戶端和真正的資源伺服器間繫結關係,也就是stateless。更多細節以後再說(懶)。
再說說注意點吧:
1.JWT要有過期時間,JWT過期後Token的置換問題
2.JWT的儲存問題,用JWT有兩大儲存選項local storage、session storage和cookie,如何選擇?用Cookie意味著不能用httponly,不然要jwt用處也不明顯
3.如果JWT採用refreshToken換Token的策略,revoke怎麼搞?畢竟你不能revoke jwt,否則搞回來就成有狀態的了
掌機是否終究會被手機取代?
短期看來不可能。最簡單的乙個原因,掌機現在有接近20個鍵位,你手機那屁大點螢幕上哪給我騰出這些按鍵來?知乎上向來有很多人在做著手機取代掌機的春秋大夢,我只想說,該醒醒了,快買個ns回家健健身吧。至於終究的話,說不定那一天手機也被淘汰了呢。 乜乜星xX 剛好在其他問題裡回答了差不多的問題,我覺得可以作...
手機未來能取代專業攝像機的地位嗎?
藍海豚 我覺得未來肯定能取代專業攝像機,就看這個未來會多快到來,5年?還是10年?上面說的光通量什麼的都不是問題,因為最好的攝像機就是人的眼睛,人的眼睛體積擺在那裡在,攝像機發展到的最高水平就是達到人眼的水平 超視距能力,這個手機未來10年左右應該能夠達到近似的水平。 的確有部分專業攝像機在感測器部...
作為小白如何選擇掌機?
Tomas 看你是要玩什麼型別的遊戲了,如果是休閒娛樂,還有一些rpg的話,其實lite應該能滿足你了,如果要一些多人聚會遊戲,還有希望有更好的畫質表現,動作遊戲之類的,目前可以考慮續航版,再加個pro手柄。核心思路就是掌機選lite,主機選續航。 phoneboy 有錢ns,沒錢ns lite,p...