解釋一下什么是前后端分離的核心 JWT

JWT 詳解

JWT是為了在網(wǎng)絡(luò)應(yīng)用中柠逞,前后端交付中,進(jìn)行頁面?zhèn)髦档囊环N手段璧亮。
該TOKEN 設(shè)計(jì)緊湊萧诫,安全,適用于分布式站點(diǎn)的單點(diǎn)登錄枝嘶。

起源

傳統(tǒng)的HTTP協(xié)議是無狀態(tài)的帘饶,一個(gè)用戶,只能保存一份用戶信息群扶。
這份登錄信息及刻,會(huì)在傳遞的時(shí)候,無狀態(tài)的傳遞給瀏覽器竞阐,告訴其保存為cookie缴饭。以便下次的時(shí)候,告訴那個(gè)用戶骆莹。
即傳統(tǒng)的給予session的前后端認(rèn)證茴扁。
基于Token的鑒權(quán)機(jī)制⊥舸基于token的鑒權(quán)機(jī)制,類似于HTTP也是無狀態(tài)的毁习,不需要服務(wù)端保留智嚷,用戶的信息。意味著token認(rèn)證機(jī)制纺且,不需要考慮在那臺(tái)機(jī)器上登錄了盏道。
具體的流程如下

  1. 用戶使用用戶名密碼請(qǐng)求服務(wù)器。
  2. 服務(wù)器驗(yàn)證载碌,用戶信息猜嘱。
  3. 服務(wù)器通過認(rèn)證打洼,頒發(fā)token
  4. 客戶端保存token涯竟。每次請(qǐng)求附帶token罗丰。
  5. 服務(wù)器端驗(yàn)證token值榛丢,并返回?cái)?shù)據(jù)筋蓖。

JWT 長什么樣子

由三部分組成拼窥。

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

構(gòu)成

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

頭部

聲明類型假栓,這里是jwt
聲明加密的算法 通常直接使用 HMAC SHA256

對(duì)頭部進(jìn)行加密

{
  'typ': 'JWT',
  'alg': 'HS256'
}

然后進(jìn)行base64加密

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

playload

保存有效信息的地方。

通常包含三個(gè)部分

標(biāo)準(zhǔn)中注冊(cè)的聲明
公共的聲明
私有的聲明

標(biāo)準(zhǔn)中注冊(cè)的聲明

iss: jwt簽發(fā)者
sub: jwt所面向的用戶
aud: 接收jwt的一方
exp: jwt的過期時(shí)間点晴,這個(gè)過期時(shí)間必須要大于簽發(fā)時(shí)間
nbf: 定義在什么時(shí)間之前感凤,該jwt都是不可用的.
iat: jwt的簽發(fā)時(shí)間
jti: jwt的唯一身份標(biāo)識(shí),主要用來作為一次性token,從而回避重放攻擊粒督。

公共的聲明 :

公共的聲明可以添加任何的信息陪竿,一般添加用戶的相關(guān)信息或其他業(yè)務(wù)需要的必要信息.但不建議添加敏感信息,因?yàn)樵摬糠衷诳蛻舳丝山饷?

私有的聲明 :

私有聲明是提供者和消費(fèi)者所共同定義的聲明屠橄,一般不建議存放敏感信息族跛,因?yàn)閎ase64是對(duì)稱解密的,意味著該部分信息可以歸類為明文信息仇矾。

signature

用于驗(yàn)證jwt是否發(fā)生了改變庸蔼。

通過秘鑰加密,實(shí)現(xiàn)jwt是否發(fā)生了更改

// javascript
var encodedString = base64UrlEncode(header) + '.' + base64UrlEncode(payload);

var signature = HMACSHA256(encodedString, 'secret'); // TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

這樣通過加密實(shí)現(xiàn)了base64位的加密

  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

應(yīng)用

Authorization 加上 Bearer 標(biāo)注

[圖片上傳失敗...(image-8b52c9-1591108370379)]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贮匕,一起剝皮案震驚了整個(gè)濱河市姐仅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌刻盐,老刑警劉巖掏膏,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敦锌,居然都是意外死亡馒疹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門乙墙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颖变,“玉大人,你說我怎么就攤上這事听想⌒壬玻” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵汉买,是天一觀的道長衔峰。 經(jīng)常有香客問我,道長蛙粘,這世上最難降的妖魔是什么垫卤? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮出牧,結(jié)果婚禮上穴肘,老公的妹妹穿的比我還像新娘。我一直安慰自己崔列,他們只是感情好梢褐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布旺遮。 她就那樣靜靜地躺著,像睡著了一般盈咳。 火紅的嫁衣襯著肌膚如雪耿眉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天鱼响,我揣著相機(jī)與錄音鸣剪,去河邊找鬼。 笑死丈积,一個(gè)胖子當(dāng)著我的面吹牛筐骇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播江滨,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼铛纬,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了唬滑?” 一聲冷哼從身側(cè)響起告唆,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晶密,沒想到半個(gè)月后擒悬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稻艰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年懂牧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尊勿。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧凤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出元扔,到底是詐尸還是另有隱情拼弃,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布摇展,位于F島的核電站,受9級(jí)特大地震影響溺忧,放射性物質(zhì)發(fā)生泄漏咏连。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一鲁森、第九天 我趴在偏房一處隱蔽的房頂上張望祟滴。 院中可真熱鬧,春花似錦歌溉、人聲如沸垄懂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽草慧。三九已至桶蛔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漫谷,已是汗流浹背仔雷。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舔示,地道東北人碟婆。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像惕稻,于是被迫代替她去往敵國和親竖共。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345