一、jwt概念
json web token
(縮寫jwt
)是目前最流行的跨域認證解決方案。
二、跨域認證一般流程
使用者向伺服器傳送使用者名稱和密碼
伺服器驗證通過後,在當前對話(session
)裡面儲存相關資料,比如使用者角色、登入時間等等
伺服器向使用者返回乙個session_id
,寫入使用者的cookie
使用者隨後的每一次請求,都會通過cookie
,將session_id
傳回伺服器
伺服器收到session_id
,找到前期儲存的資料,由此得知使用者的身份
三、session 共享
在伺服器集群,要求session
資料共享,每台伺服器都能夠讀取session
:
一種解決方案是session
資料持久化,寫入資料庫或別的持久層。各種服務收到請求後,都向持久層請求資料。這種方案的優點是架構清晰,缺點是工程量比較大。另外,持久層萬一掛了,就會單點失敗。
另一種方案是伺服器索性不儲存session
資料了,所有資料都儲存在客戶端,每次請求都發回伺服器。jwt
就是這種方案的乙個代表。
四、jwt理解認識
1. 原理
2. 資料結構
header
(頭部).payload
(負載).signature
(簽名):
3. 使用方式
4. 特點
JWT 跨域身份驗證解決方案
參考 jwt乙個開放標準 rfc 7519 1 jwt json web token兩個特點 頭部包含了兩部分,token 型別和採用的加密演算法 這部分就是我們存放資訊的地方了,你可以把使用者 id 等資訊放在這裡,jwt 規範裡面對這部分有進行了比較詳細的介紹,常用的由 iss 簽發者 exp ...
跨域解決方案
因為瀏覽器出於安全考慮,有同源策略。也就是說,如果協議 網域名稱或者埠有乙個不同就是跨域,ajax 請求會失敗。那麼是出於什麼安全考慮才會引入這種機制呢?其實主要是用來防止 csrf 攻擊的。簡單點說,csrf 攻擊是利用使用者的登入態發起惡意請求。也就是說,沒有同源策略的情況下,a 可以被任意其他...
跨域解決方案
瀏覽器端的同源策略 如果兩個頁面的協議,埠和網域名稱中的其中任意乙個不相同,它們就是不同源的,瀏覽器會限制他們之間的資源互動 跨域 跨域的安全限制只針對瀏覽器,伺服器是沒有跨域的安全限制的 原理 由於伺服器沒有跨域限制,所以在需要跨域訪問時,在中間設定乙個中間層 舉例 192.168.10.1 80...