利用Spring Security實作JWT驗證 | java jwt教學
WhatisJWT?有鑑於同樣在昕力大學已有文章已詳細介紹過JWT,本篇就省略該部分的介紹,請各位可以直接過去看看(JSONWebToken)[1]。 WhyweneedJWT?近期接觸前後端分離的網頁架構,因為在開發上是透過API的方式來串聯前後端的資料傳遞。但是由於是前後分離的開發模式,因此資料的傳遞以及API的權限問題就免不了是直接大喇喇地攤在網路上,因此我們就遇到了誰能夠使用這個API的安全性問題。因此我們必須對所有的請求進行加密,而對請求加密的方法有很多種,而近期最流行的方法就是透過JWT進行加密。透過在每次請求時,將Token放進requesthe...
What is JWT?
有鑑於同樣在昕力大學已有文章已詳細介紹過JWT,本篇就省略該部分的介紹,請各位可以直接過去看看(JSON Web Token)[1]。
Why we need JWT?
近期接觸前後端分離的網頁架構,因為在開發上是透過API的方式來串聯前後端的資料傳遞。但是由於是前後分離的開發模式,因此資料的傳遞以及API的權限問題就免不了是直接大喇喇地攤在網路上,因此我們就遇到了誰能夠使用這個API的安全性問題。
因此我們必須對所有的請求進行加密,而對請求加密的方法有很多種,而近期最流行的方法就是透過JWT進行加密。透過在每次請求時,將Token放進request head中,server會在處理請求前先驗證Token的合法性而決定是否處理請求。
實際處理流程如下圖
Spring Security and JWT Configuration
• Gradle相依性配置如下
dependencies { implementation org.springframework.boot:spring-boot-starter-data-jpa implementation org.springframework.boot:spring-boot-starter-web implementation org.springframework.boot:spring-boot-starter-security implementation io.jsonwebtoken:jjwt-api:0.10.7, io.jsonwebtoken:jjwt-impl:0.10.7, io.jsonwebtoken:jjwt-jackson:0.10.7 }JWT的工具類
簡單介紹JWT是什麼以及為何需要使用JWT之後,我們就開始進入我們的正題。配置基於Spring Secrutiy的JWT,在JWT的工具類主要分兩個部...