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