Nodejs-token

token基礎(chǔ)

  • 一個(gè)JWT(Java Web Token)實(shí)際上就是一個(gè)字符串,它由頭部矗蕊、載荷與簽名 三部分組成
  • 編碼之后的JWT是這樣的一串字符
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 
  • .分為三段前酿,通過解碼可以得到
// 1. Headers頭部
// 包括類別(typ)癣朗、加密算法(alg)
{
 "alg": "HS256",
 "typ": "JWT"
}
// 2. Claims載荷
// 包括需要傳遞的用戶信息
{
 "sub": "1234567890",
 "name": "John Doe",
 "admin": true
}
// 3. Signature簽名
// 根據(jù)alg算法與私有秘鑰進(jìn)行加密得到的簽名字串
// 這一段是最重要的敏感信息,只能在服務(wù)端解密
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), SECREATE_KEY)

核心代碼

const jwt = require('jsonwebtoken');
const secret = 'qwert';   //自定義
app.set('superSecret', secret);
 //生成token
const token = jwt.sign(user, app.get('superSecret'));
//解碼token
jwt.verify(token, app.get('superSecret'), function (err, decoded){
    //decoded 是得到的用戶信息
}

原理

  • 安裝nodejs的模塊jsonwebtoken或渤,設(shè)置一個(gè)字符串當(dāng)作密鑰
  • 如果登錄成功系冗,服務(wù)器就根據(jù)用戶名和密鑰生成一個(gè)token,并返回token給客戶端
  • 如果想得到個(gè)人信息劳坑,就可以發(fā)送這個(gè)token毕谴,經(jīng)過verify驗(yàn)證成功,得到信息

總結(jié)

  • 可以把生成的token存放在cookie中,相當(dāng)于把session Id存放在cookie

demo地址

參考文章推薦:
Authenticate a Node.js API with JSON Web Tokens
JWT 在前后端分離中的應(yīng)用與實(shí)踐

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涝开,一起剝皮案震驚了整個(gè)濱河市循帐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舀武,老刑警劉巖拄养,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異银舱,居然都是意外死亡瘪匿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門寻馏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棋弥,“玉大人,你說我怎么就攤上這事诚欠⊥缛荆” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵轰绵,是天一觀的道長粉寞。 經(jīng)常有香客問我,道長左腔,這世上最難降的妖魔是什么唧垦? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮液样,結(jié)果婚禮上振亮,老公的妹妹穿的比我還像新娘。我一直安慰自己蓄愁,他們只是感情好双炕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布狞悲。 她就那樣靜靜地躺著撮抓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摇锋。 梳的紋絲不亂的頭發(fā)上丹拯,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音荸恕,去河邊找鬼乖酬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛融求,可吹牛的內(nèi)容都是我干的咬像。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼县昂!你這毒婦竟也來了肮柜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤倒彰,失蹤者是張志新(化名)和其女友劉穎审洞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體待讳,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芒澜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了创淡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痴晦。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖琳彩,靈堂內(nèi)的尸體忽然破棺而出阅酪,到底是詐尸還是另有隱情,我是刑警寧澤汁针,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布术辐,位于F島的核電站,受9級(jí)特大地震影響施无,放射性物質(zhì)發(fā)生泄漏辉词。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一猾骡、第九天 我趴在偏房一處隱蔽的房頂上張望瑞躺。 院中可真熱鬧,春花似錦兴想、人聲如沸幢哨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捞镰。三九已至,卻和暖如春毙替,著一層夾襖步出監(jiān)牢的瞬間岸售,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工厂画, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凸丸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓袱院,卻偏偏與公主長得像屎慢,于是被迫代替她去往敵國和親瞭稼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

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

  • 1.背景介紹 由于HTTP是一種無狀態(tài)協(xié)議,服務(wù)器沒有辦法單單從網(wǎng)絡(luò)連接上面知道訪問者的身份,為了解決這個(gè)問題,就...
    黑白電影_閱讀 10,279評(píng)論 0 10
  • 轉(zhuǎn)載本文需注明出處:微信公眾號(hào)EAWorld腻惠,違者必究弛姜。 本文目錄: 一、單體應(yīng)用 VS 微服務(wù) 二妖枚、微服務(wù)常見安...
    72a1f772fe47閱讀 8,546評(píng)論 3 25
  • 概述 JSON Web令牌(JWT)是一個(gè)緊湊的采用URL安全表示方法的聲明廷臼,用于在兩方之間傳輸。JWT的聲明被編...
    御淺永夜閱讀 5,161評(píng)論 0 0
  • why JWT 現(xiàn)在绝页,前后端分離和 RESTful API 越來越火熱荠商,當(dāng)后臺(tái)漸漸開始只負(fù)責(zé)為客戶端提供 API ...
    jaychenIsUsed閱讀 5,102評(píng)論 1 8
  • 講師訓(xùn)第2周: 這周基本節(jié)奏是緊湊、緊張的過了~在所有導(dǎo)師嚴(yán)格的監(jiān)督下续誉,我們一路過關(guān)斬將來莱没! 這周學(xué)會(huì)了思維導(dǎo)圖和...
    鐘月娥閱讀 131評(píng)論 0 0