身份驗證可驗證您的身分。授權決定您可以存取的內容。

身份驗證實作方法:

JWT

JWT(JSON Web Token) — 原理介紹

客戶端如何用JWT來訪問資源?

截圖 2024-04-12 晚上7.50.26.png

  1. 前端會透過後端登入API打給後端,後端驗證使用者帳密成功後,就會發放合法JWT字串

  2. 前端拿到JWT字串就會將JWT存放在受到保護的cookie裡面

  3. 而後當前端要存取受保護的API時,只要在Header的填寫以下內容:

    Authorization: Bearer <JWT token>
    
  4. 後端收到後會去檢查Authorization的JWT token是否有效,有效則允許前端訪問受保護的資源。

    Session的設計上,會存放在Redis等這種快取資料庫,每當使用者訪問受保護的資源時,會先去存取資料庫的Session進行比對,有效則讓使用者存取。

https://medium.com/spring-boot/cookie-based-jwt-authentication-with-spring-security-756f70664673

https://medium.com/spring-boot/cookie-based-jwt-authentication-with-spring-security-756f70664673

服務端如何驗證JWT?

Using JWT (JSON Web Tokens) to authorize users and protect API routes

需要的套件

bcryptjs:密碼加解密

validator:使用者資料驗證

jsonwebtoken: