本專案主要參考golang-jwt所製作,目的是為了更了解JWT
請參考:
- 演算法: 要做JWT之前應該對一些加密、驗證的算法有一些了解,因此建議可以參考crypto_test.go
- 實作: 在演算法了解之後,可以嘗試用某幾種演算法去實作,HMAC是最簡單去做的,因為它是對稱式加密,沒有公鑰和私鑰,可以參考此次的提交
- ISigningMethod: 在實做了幾種演算法之後,就可以找到相關的規律,可以將這些內容包裝在interface之中, commit
有些演算法比較特別(例如:ecdsa),為了要迎合接口的定義,需要特別安排加簽出來的內容
自定義驗證
它在Parse之後就能使用token.Valid來判斷該jwt字串是否合法
本專案對此需要進一步的判斷才能得知,可以傳入自定義的Header驗證邏輯,或者Validate驗證函數
此內容請參考parser.validate
不預先註冊簽章方法
golang-jwt預設有幫忙註冊好演算法的方法名稱,因此其實他們並沒有特別提供header的驗證,會自動做好
本專案對此不提供預先的註冊,純粹讓使用者自己定義,因為並非所有伺服器都有支持很多種的加簽演算法
另外當您自己提供之後,也能對整個過程更清楚,而不會被語法糖所寵壞。