摘要:一什么是為什么使用是機(jī)制的一種替代方案。這種情況下使用就會(huì)有更加方便。的數(shù)據(jù)結(jié)構(gòu)一般為三部分組成頭部一般包含簽名的算法和令牌的屬性負(fù)載實(shí)際需要傳遞的數(shù)據(jù)一般不加密,因此不要把重要信息放在里面簽名部分是對(duì)前兩部分的簽名,防止數(shù)據(jù)篡改。
一、什么是JSON Web Token? 1、為什么使用JSON Web Token
JSON Web Token是cookie session機(jī)制的一種替代方案。
一般我們用戶認(rèn)證的流程是:
(1)用戶將用戶名和密碼發(fā)送給服務(wù)器
(2)服務(wù)器驗(yàn)證并通過(guò)后,將信息存放在session中
(3)返回給客戶端一個(gè)sessionId
(4)客戶端將sessionId保存在cookie中
(5)客戶端后續(xù)的請(qǐng)求,都會(huì)將cookie一并發(fā)給服務(wù)器,里面就包含了sessionId
(6)客戶端通過(guò)sessionId識(shí)別用戶
但是在跨域登陸情況下(跨域即跨域名登陸,也就是可能會(huì)有好幾個(gè)不同的服務(wù)器),多個(gè)服務(wù)器需要共享session。這種情況下使用JSON Web Token就會(huì)有更加方便。
2、JSON Web Token的原理JSON Web Token實(shí)際上是一個(gè)JSON對(duì)象,使用流程為:
‘
(1)用戶將用戶名和密碼發(fā)送給服務(wù)器
(2)服務(wù)器將驗(yàn)證并通過(guò)以后,生成JSON Web Token,并發(fā)送給客戶端
(3)客戶端將其保存在local storage 或本地?cái)?shù)據(jù)庫(kù)
(4)下次客戶端再次發(fā)起請(qǐng)求,將 Token 附加到 header 中
(5)服務(wù)器完全通過(guò)JSON Web Token來(lái)識(shí)別用戶
這里值得注意的是,為了保證安全性,在第(2)步中,服務(wù)器會(huì)通過(guò)加密算法將Token加密,也就是說(shuō)客戶端保存的是個(gè)加密的Token,到第(5)步服務(wù)器對(duì)其進(jìn)行解密。
3、JSON Web Token的數(shù)據(jù)結(jié)構(gòu)Token一般為三部分組成:Header.Payload.Signature
(1)Header(頭部):一般包含簽名的算法和令牌的屬性
(2)Payload(負(fù)載):實(shí)際需要傳遞的數(shù)據(jù)(一般不加密,因此不要把重要信息放在里面)
(3)Signature(簽名):Signature 部分是對(duì)前兩部分的簽名,防止數(shù)據(jù)篡改。格式一般如下(secret為密鑰,只有服務(wù)器自己知道):
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)4、特點(diǎn)
(1)使用 json 作為數(shù)據(jù)傳輸,有廣泛的通用型,并且體積小,便于傳輸
(2)不需要在服務(wù)器端保存相關(guān)信息,完全通過(guò)Token來(lái)認(rèn)證
(3)jwt 載荷部分可以存儲(chǔ)業(yè)務(wù)相關(guān)的信息(非敏感的),例如用戶信息、角色等,因此也可以用于交換信息。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/75098.html
摘要:高性能始終是的首要目標(biāo)之一。版是上代的老版本,現(xiàn)在處于維護(hù)狀態(tài)。版是一個(gè)完全重寫(xiě)的版本,采用了最新的技術(shù)和協(xié)議,包括依賴包管理器代碼規(guī)范命名空間特質(zhì)等等。所以,我們學(xué)習(xí)版本。啟用本鏡像服務(wù)系統(tǒng)全局配置即將配置信息添加到的全局配置文件中。 工作中需要用到Y(jié)II框架,于是乎,系統(tǒng)的學(xué)習(xí)下這套框架,詳細(xì)教程請(qǐng)看考該站完整系列:YII2教程 一、YII簡(jiǎn)介 1、什么是YII Yii 是一個(gè)高性...
摘要:花了將近兩個(gè)星期完成了功能,期間我編寫(xiě)的能力也算是有所提升了。所以能看到這篇文章的同學(xué)都是大佬如果想看更多的原創(chuàng)技術(shù)文章,歡迎大家關(guān)注我的微信公眾號(hào)。可能感興趣的鏈接文章的目錄導(dǎo)航微信公眾號(hào)端文章的目錄導(dǎo)航端海量精美腦圖 前言 只有光頭才能變強(qiáng) 2018年8月30日,今天我辭職了。在6月25號(hào)入職,到現(xiàn)在也有兩個(gè)月時(shí)間了。 感受: 第一天是期待的:第一次將項(xiàng)目拉到本地上看的時(shí)候,代碼...
摘要:它的核心是借鑒的的實(shí)現(xiàn),它的設(shè)計(jì)基本兼容,在的基礎(chǔ)上又?jǐn)U展了一些以及做了一些性能優(yōu)化。注銷后,就清除里的信息并跳轉(zhuǎn)到登錄頁(yè)面 1 stylus 預(yù)處理 項(xiàng)目文件assets目錄下新建stylus文件夾,新建 *.styl文件: showImg(https://segmentfault.com/img/bVbqy2M);variable.styl 存儲(chǔ)公共樣式,iconfont.sty...
摘要:首先支持下黃老師的視頻網(wǎng)站轉(zhuǎn)型這篇的學(xué)習(xí)筆記也是根據(jù)他的視頻教程寫(xiě)的,一共十集,講解的很簡(jiǎn)單感興趣的同志們可以上他視頻網(wǎng)站購(gòu)買(mǎi)視頻,網(wǎng)站地址放在文末我的博客作用自動(dòng)安裝所需要的模塊,自動(dòng)加載管理項(xiàng)目,發(fā)布到網(wǎng)上上去是默認(rèn)的加載組件地址安裝下 首先支持下黃老師的視頻網(wǎng)站轉(zhuǎn)型這篇composer的學(xué)習(xí)筆記也是根據(jù)他的視頻教程寫(xiě)的,一共十集,講解的很簡(jiǎn)單感興趣的同志們可以上他視頻網(wǎng)站購(gòu)買(mǎi)視頻...
摘要:學(xué)開(kāi)發(fā)半年多,之前一直有個(gè)疑問(wèn)為什么要用,好好的用不好嗎其實(shí)就是新技術(shù)與老技術(shù),但是還是想弄懂這個(gè)問(wèn)題之前一直疑惑,今天搞懂了,整合了一下學(xué)習(xí)過(guò)程,先對(duì)比一下與一簡(jiǎn)述的生成方式與的生成方式的生成方式瀏覽器第一次訪問(wèn)服務(wù)器時(shí),服務(wù)器創(chuàng)建一個(gè), 學(xué)開(kāi)發(fā)半年多,之前一直有個(gè)疑問(wèn):為什么要用token,好好的用sessionID不好嗎(其實(shí)就是新技術(shù)與老技術(shù),但是還是想弄懂)這個(gè)問(wèn)題之前一直疑...
閱讀 2069·2023-04-26 01:41
閱讀 2586·2021-11-24 09:39
閱讀 1997·2021-11-24 09:38
閱讀 2039·2021-11-19 09:40
閱讀 3893·2021-11-11 11:02
閱讀 3354·2021-10-20 13:48
閱讀 3351·2021-10-14 09:43
閱讀 4610·2021-09-02 15:11