1. 程式人生 > 其它 >java JWT(json web token)三分鐘快速掌握

java JWT(json web token)三分鐘快速掌握

一:jwt

共有三部分:

令牌組成: 1.標頭(header)

2.有效載荷(payload)

3.簽名(Signature)

三部分以"."點進行分割

生成方式:1(標頭)+2(載荷)+自定義鹽值(簽名)  最終生成 3(token)

 

 

 

 

程式碼例項:

 

 

 

 

 

 

 

 

 二:springboot 封裝jwt工具類

 

 

 

 

 

自定義攔截器:

 

 

 

 

 

 

 

 總結:JWT是用作http傳輸json時安全驗證的一種方式,也就是登入之後,伺服器會返回給前端一個token,後續如果前端訪問其他介面,都需要攜帶token(token一般都是放在請求頭裡面),生成的token一般都是存在前端本地(sessionStorage和localStorage)

擴充套件:sessionStorage和localStorage的區別

html5中的Web Storage包括了兩種儲存方式:sessionStorage和localStorage。


sessionStorage用於本地儲存一個會話(session)中的資料,這些資料只有在同一個會話中的頁面才能訪問
並且當會話結束後資料也隨之銷燬。因此sessionStorage不是一種持久化的本地儲存,僅僅是會話級別的儲存。只允許同一視窗訪問。

而localStorage用於持久化的本地儲存,除非主動刪除資料,否則資料是永遠不會過期的。同源可以讀取並修改localStorage資料。

程式碼例項:

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<script>
    //setItem儲存value
    localStorage.setItem("name", "一凡");
    localStorage.setItem("job", "web前端");

    //getItem獲取value
    var name = localStorage.getItem('name');
    var job = localStorage.getItem('job');
    console.log('姓名:' + name);
    console.log('職業:' + job);

    //removeItem刪除key
    localStorage.removeItem('name');
    var name = localStorage.getItem('name');
    var job = localStorage.getItem('job');
    console.log('姓名:' + name);
    console.log('職業:' + job);

    //clear清除所有的key/value
    localStorage.clear();
    localStorage.removeItem('name');
    var name = localStorage.getItem('name');
    var job = localStorage.getItem('job');
    console.log('姓名:' + name);
    console.log('職業:' + job);
</script>
</body>
</html>

執行結果:

//getItem獲取value

姓名:一凡

工作:web前端

//removeItem刪除key(也就是刪除name的值,所以返回為null)

姓名:null

工作:web前端

//clear清除所有的key/value(刪除所有存的資訊,也就是name和job,所以再取值全部為null)

姓名:null

工作:null