[Nodejs] Express 使用者註冊利用 JWT(jsonwebtoke)驗證
Nodejs 用 Express 框架,使用者註冊 API,利用 JWT 產生令牌驗證使用者
安裝 jsonwebtoken
1 |
|
使用 JWT
在 authController.js 在 signup 時引用 jwt
1 |
|
設定 JWT 環境變數
我們在環境變數上新增 JWT_SECRET、JWT_EXPIRES_IN1
2JWT_SECRET=sVNJpMqN34i5$JkSK4E%#255CK#sV3
JWT_EXPIRES_IN=90d
JWT_EXPIRES_IN 90d 意味者 90天後過期,90天後 JWT 不再會有效,即使簽名是正確的,是一種額外的安全措施。
接著在回到 authController.js,利用 jwt.sign 方法,引用剛剛建立的 JWT 環境變數,來產生令牌
設定 token
1 |
|
若令牌正確,回傳給客戶端令牌,Client端會以 cookie/storage 儲存令牌(token)
回傳 Client端 token
1 |
|
1 |
|
測試
設定好之後,我們用 postman 打 /signup API,如果設定都正確,預期結果會回傳 JWT 產生的 token
JWT Debugger
Token 部分是由 Base64 編碼,我們可以在 jwt.io 調試我們產生的 JWT Token,轉換回原本的 JSON 資料,同時也可以驗證該 Token 的正確性
Reference
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!