JWT

傳統(tǒng)的session認證

我們知道嘿歌,http協(xié)議本身是一種無狀態(tài)的協(xié)議站故,而這就意味著如果用戶向我們的應用提供了用戶名和密碼來進行用戶認證屯阀,那么下一次請求時宪巨,用戶還要再一次進行用戶認證才行,因為根據(jù)http協(xié)議对竣,我們并不能知道是哪個用戶發(fā)出的請求庇楞,所以為了讓我們的應用能識別是哪個用戶發(fā)出的請求,我們只能在服務器存儲一份用戶登錄的信息否纬,這份登錄信息會在響應時傳遞給瀏覽器吕晌,告訴其保存為cookie,以便下次請求時發(fā)送給我們的應用,這樣我們的應用就能識別請求來自哪個用戶了,這就是傳統(tǒng)的基于session認證临燃。

但是這種基于session的認證使應用本身很難得到擴展睛驳,隨著不同客戶端用戶的增加壁拉,獨立的服務器已無法承載更多的用戶,而這時候基于session認證應用的問題就會暴露出來.

基于session認證所顯露的問題

Session: 每個用戶經(jīng)過我們的應用認證之后柏靶,我們的應用都要在服務端做一次記錄弃理,以方便用戶下次請求的鑒別,通常而言session都是保存在內(nèi)存中屎蜓,而隨著認證用戶的增多痘昌,服務端的開銷會明顯增大。

擴展性: 用戶認證之后炬转,服務端做認證記錄辆苔,如果認證的記錄被保存在內(nèi)存中的話,這意味著用戶下次請求還必須要請求在這臺服務器上,這樣才能拿到授權(quán)的資源扼劈,這樣在分布式的應用上驻啤,相應的限制了負載均衡器的能力。這也意味著限制了應用的擴展能力荐吵。

CSRF: 因為是基于cookie來進行用戶識別的, cookie如果被截獲骑冗,用戶就會很容易受到跨站請求偽造的攻擊。

基于token的鑒權(quán)機制

基于token的鑒權(quán)機制類似于http協(xié)議也是無狀態(tài)的先煎,它不需要在服務端去保留用戶的認證信息或者會話信息贼涩。這就意味著基于token認證機制的應用不需要去考慮用戶在哪一臺服務器登錄了,這就為應用的擴展提供了便利薯蝎。

流程上是這樣的:

用戶使用用戶名密碼來請求服務器

服務器進行驗證用戶的信息

服務器通過驗證發(fā)送給用戶一個token

客戶端存儲token遥倦,并在每次請求時附送上這個token值

服務端驗證token值,并返回數(shù)據(jù)

這個token必須要在每次請求時傳遞給服務端占锯,它應該保存在請求頭里袒哥, 另外,服務端要支持CORS(跨來源資源共享)策略消略,一般我們在服務端這么做就可以了Access-Control-Allow-Origin: *堡称。

那么我們現(xiàn)在回到JWT的主題上。

JWT的構(gòu)成

第一部分我們稱它為頭部(header),第二部分我們稱其為載荷(payload, 類似于飛機上承載的物品)疑俭,第三部分是簽證(signature).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粮呢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钞艇,更是在濱河造成了極大的恐慌,老刑警劉巖豪硅,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哩照,死亡現(xiàn)場離奇詭異,居然都是意外死亡懒浮,警方通過查閱死者的電腦和手機飘弧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門识藤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人次伶,你說我怎么就攤上這事痴昧。” “怎么了冠王?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵赶撰,是天一觀的道長。 經(jīng)常有香客問我柱彻,道長豪娜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任哟楷,我火速辦了婚禮瘤载,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘卖擅。我一直安慰自己鸣奔,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布惩阶。 她就那樣靜靜地躺著溃蔫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琳猫。 梳的紋絲不亂的頭發(fā)上伟叛,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音脐嫂,去河邊找鬼统刮。 笑死,一個胖子當著我的面吹牛账千,可吹牛的內(nèi)容都是我干的侥蒙。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼匀奏,長吁一口氣:“原來是場噩夢啊……” “哼鞭衩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娃善,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤论衍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后聚磺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坯台,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年瘫寝,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜒蕾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稠炬。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咪啡,靈堂內(nèi)的尸體忽然破棺而出首启,到底是詐尸還是另有隱情,我是刑警寧澤撤摸,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布毅桃,位于F島的核電站,受9級特大地震影響愁溜,放射性物質(zhì)發(fā)生泄漏疾嗅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一冕象、第九天 我趴在偏房一處隱蔽的房頂上張望代承。 院中可真熱鬧,春花似錦渐扮、人聲如沸论悴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膀估。三九已至,卻和暖如春耻讽,著一層夾襖步出監(jiān)牢的瞬間察纯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工针肥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饼记,地道東北人。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓慰枕,卻偏偏與公主長得像具则,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子具帮,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 好久沒寫博客了博肋,因為最近公司要求我學spring cloud,早點將以前軟件遷移到新的架構(gòu)上蜂厅。所以我那個拼命的學吶...
    tengshe789閱讀 4,152評論 1 11
  • 因項目需要匪凡,需要和三方的oauth2服務器進行集成。網(wǎng)上關(guān)于spring cloud security oauth...
    暴走的初號機閱讀 113,760評論 20 153
  • JWT 在用戶注冊或登陸后葛峻,我們想要記錄用戶的登陸狀態(tài)锹雏,或者為用戶創(chuàng)建身份認證的憑證。我們不再使用Session認...
    夢醒家先生閱讀 998評論 0 0
  • HTTP 是一個無狀態(tài)的協(xié)議术奖,一次請求結(jié)束后礁遵,下次在發(fā)送服務器就不知道這個請求是誰發(fā)來的了(同一個 IP 不代表同...
    匆匆歲月閱讀 6,331評論 2 97
  • 書名:《工薪族當代藝術(shù)收藏之道》 作者:「日」宮津大輔 篇幅:紙質(zhì)190頁 學習時段:大三上學年 故事主線:當代著...
    信香閱讀 415評論 3 3