【Spring Boot】第17.6課-實作 Spring Security 的認證 Filter(以 JWT 為例)#2024 年更新


https://unsplash.com/photos/LmyPLbbUWhA

上一篇實作出建立與解析 JWT 的程式。JWT 經常被攜帶於 request header 中,用來表明自己的身份,與 HTTP Basic 認證需攜帶帳密的 Base64 編碼有異曲同工之妙。

本文將以 JWT 為基礎,實作一個性質與 HTTP Basic 相似的認證 Filter。首先會說明練習用專案大致有哪些程式。接著開發 Filter,將 header 中的 JWT 轉化為認證後的使用者資料。最後在 Controller 中取用。


本文已經搬家,歡迎到「【Spring Boot】第12.6課-實作 Spring Security 的認證 Filter(以 JWT 為例)」繼續閱讀。

留言

  1. 提醒一下,如果有人在寫完generateToken之後想寫單元測試去測,很大的機率會出錯,然後如果又用debugger去找,很有可能會發現AuthenticationManager會是空的,所以會一直出錯,我個人猜測是因為如果是用單元測試,程式不會將AuthenticationManager這個物件注入進去(雖然有AutoWired),但是用PostMan是可以的
    另外如果有人有出現implementation for interface io.jsonwebtoken.io.Serializer using java.util.ServiceLoader.的錯誤

    可以把這個依賴加進去

    io.jsonwebtoken
    jjwt-jackson
    0.11.1
    runtime

    回覆刪除

張貼留言