jwt 是乙個開放標準(rfc 7519),它定義了一種用於簡潔,自包含的用於通訊雙方之間以 json 物件的形式安全傳遞資訊的方法。jwt 可以使用 hmac 演算法或者是 rsa 的公鑰金鑰對進行簽名。它具備兩個特點
可以通過url, post 引數或者在 http header 傳送,因為資料量小,傳輸速度快
負載中包含了所有使用者所需要的資訊,避免了多次查詢資料庫
組成
頭部包含了兩部分,token和加密演算法。會進行base64加密(很容易被反解)
這部分就是我們存放資訊的地方了,你可以把使用者 id 等資訊放在這裡,jwt 規範裡面對這部分有進行了比較詳細的介紹,常用的由 iss(簽發者),exp(過期時間),sub(面向的使用者),aud(接收方),iat(簽發時間)。
前面兩部分都是使用 base64 進行編碼的,即前端可以解開知道裡面的資訊。signature 需要使用編碼後的 header 和 payload 以及我們提供的乙個金鑰,然後使用 header 中指定的簽名演算法(hs256)進行簽名。簽名的作用是保證 jwt 沒有被篡改過。
單點登入
多個子網域名稱通過乙個統一的授權認證介面進行登入
pip install djangorestframework-jwt
rest_framework =
# jwt的token認證
path(
'jwt-auth/'
, obtain_jwt_token )
JWT單點登入
jwt單點登入 什麼是jwt介紹的比較清楚 jwt的優勢和劣勢等 註冊過程中,密碼從前台在傳輸到後台過程中,如何防止密碼被竊取或篡改?前台通過js加密下,後台通過演算法解密,再用後台方式加密,最後放到資料庫中 抓包技術。認證就是判斷你有沒有許可權獲取資料 鑑權就是看看你有沒有權利操作某個東西 使用密...
無狀態登入配置 單點登入 JWT
多系統,單一位置登入,實現多系統同時登入的一種技術。常出現在網際網路應用和企業級平台中。單點登入一般是用於互相授信的系統,實現單一位置登入,全系統有效的。session 1 跨域 ip,埠,主機名,網域名稱任意乙個不同的時候都稱為跨域,訪問不同的域時cookie不一樣 通過設定cookie的doma...
單點登入與許可權管理本質 單點登入介紹
繼續介紹 單點登入與許可權管理 系列的第一部分 單點登入與許可權管理本質,前兩篇介紹了session與cookie 和 http重定向 有了他們,瀏覽器就可以在多個系統間自動互動,實現自動登入。該系列的完整寫作計畫,可見 系列概述 本篇介紹下單點登入,所謂單點登入,就是說使用者只需在乙個地方登入,訪...