JWT(Java Web Token)詳解

JWT(JSON Web Token)的基本信息
 作用

  1. 可以用鑑權(Authorization)
  2. 可以用來信息交換 信息主要負載在PayLoad 段(Information Exchange)
    數據格式爲: Header.Payload.Signature 例如:xxxxxxx.yyyyyy.zzzzzz
     Header部分由兩部分組成:token的類型(“JWT”)和算法名稱
    例如:{
    “alg”: “HS256”,
    “TYP”: “JWT”
    }
     PayLoad部分主要是信息的載體,base64URL是對稱加密,所以客戶端也可以解,base64URL和base64的區別是:因爲我們有時候會把token加到請求的url後面,Base64 有三個字符+、/和=,在 URL 裏面有特殊含義,所以要被替換掉:=被省略、+替換成-,/替換成_ 。這就是 Base64URL 算法。
     Signature部分是由header部分制定的算法加上secret計算出來的,
    Signature = HMACSHA256(
    base64UrlEncode(header) + “.” +
    base64UrlEncode(payload),
    secret)
    HMACSHA256就是前面header部分alg指定的算法 HS256是其縮寫
    Header是header部分字符串
    Payload是payload字符串
    Secret是存放在服務器端的密碼,
    計算出來的就是Signature部分,
    完整流程是
    在這裏插入圖片描述
    當用戶收到返回的token字段之後,通常下次訪問服務器資源的時候會把Token加在請求頭部,直至過期如Authorization: Bearer
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章