91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Json Web Token身份認證

發布時間:2020-07-13 06:36:27 來源:網絡 閱讀:1047 作者:qiaojieqq11 欄目:開發技術

用戶身份認證一般有5種方式

  • HTTP Basic authentication
    在發送請求時在HTTP頭中加入authentication字段,將用Base64編碼的用戶名和密碼作為值,每次發送請求的時候都要發送用戶名和密碼,實現比較簡單。

  • Cookies
    向后臺發送用戶名和密碼,在用戶名和密碼通過驗證后,保存返回的Cookie作為用戶已經登錄的憑證,每次請求時附帶這個Cookie

  • Signatures
    用戶拿到服務器給的私鑰,在發送請求前,將整個請求使用私鑰來加密,發送的將是一串加密信息,此方式只適用于API

  • One-Time Passwords
    一次一密,每次登錄時使用不同的密碼,一般由服務端通過郵件將密碼發給用戶,這種登錄方式比較繁瑣

  • JSON Web Token
    用戶發送按照約定,向服務端發送HeaderPayloadSignature,并包含認證信息(密碼),驗證通過后服務端返回一個token,之后用戶使用該token作為登錄憑證,適合于移動端和api

因為前后端分離的緣故,現在的后臺多數只提供數據部分,一般使用JSON格式,所以JSON Web Token是比較流行的認證方式。

JWT的認證方式相比其他的認證方式有一下優點:

  • 信息可用HMAC或RSA加密,信息安全性較高

  • 生成的密文短,密文可以包含所有用戶信息,認證過期時間或用戶權限等自定義信息

  • 適合用于手機應用和單頁面應用的身份認證

  • 使用靈活,一旦取得了JWT,可以通過POST方式或添加入HTTP頭中發送

JWT結構

JWT包含3個部分

  • Header (頭部)

  • Payload (負載)

  • Signature (簽名)

負載部分就是具體的認證信息,通過修改這部分的內容來控制認證信息如用戶權限等。除了一些保留字段exp(過期時間)、audiss等外,使用方法跟普通Json一樣。

Signature

簽名,也就是密鑰,用來保證密文的安全強度

以上3部分都經過Base64Url處理后用下載地址 .分隔再使用HMAC SHA256RSA加密為一段字符串

JWT使用流程

Json Web Token身份認證jwt diagram

客戶端POST用戶名和密碼到服務端,若對安全要求較高可以是加密后的用戶名或密碼,服務端把拿到的用戶名和密碼與數據庫中的對比,若相同則按照上面的流程生成JWT,然后返回客戶端。在此之后客戶端的所有請求,可以在Authorization HTTP頭或POST數據中附帶得到的JWT。服務端驗證JWT并解析出Payload下載地址 部分,以此來判斷用戶的權限。

 

JWT的使用方法很簡單,就拿node.js的包node-jsonwebtoken來說加密和驗證就兩個函數jwt.signjwt.verify并且jwt.io中提供了很多語言的JWT包。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

稷山县| 建始县| 成都市| 黄浦区| 南昌市| 延吉市| 星子县| 民和| 东阿县| 崇礼县| 桃源县| 彰武县| 大邑县| 额敏县| 西乌珠穆沁旗| 柞水县| 龙岩市| 延津县| 双峰县| 广南县| 河东区| 乌拉特前旗| 泰和县| 栾川县| 高密市| 崇义县| 建平县| 柳林县| 车险| 罗定市| 泸溪县| 高青县| 旅游| 昌宁县| 台前县| 英吉沙县| 青神县| 龙泉市| 晴隆县| 祁门县| 平武县|