手把手程式實作分享系列:Django Simplejwt 客製化你的Token
Published in
3 min readMay 19, 2020
會有這一篇的原因,是因為simple jwt裡面,預設的參數缺少了一個重要的指標IAT(Issued At) 也就是得到Token當下的時間,這個參數的用意是為了讓前端去監控使用者,用了這個Token多久,沒有他的話,會無法監控時間,去更新。另外大家也可以在裡面加入各式各樣有趣的參數,讓你的Token更強大。
Customizing token claims
其實程式碼沒有很複雜,在serializers跟Views的地方補一下就好了,以下範例順便產出IAT給大家看:
Views的部分,沒什麼特別的就是把serializers的地方抓過來。
最後別忘了設定url,不然你什麼東西都抓不到啦
這邊要注意的地方就是,記得import自己的views才能抓到剛剛上面設定的function
然後refreash的套件,有很多設定方式,下面可供參考
這樣就可以客製化出自己想要的JWT Token在django裡面了~
下面附上官網的文章
另外還有解碼jwt的網站
讓你客製化完之後可以自行確認一下
P.S 後續:
大家如果上網自己找資源寫這邊的話
可能會發現有二種寫法
一種就是官方跟我上述寫的方式
另一種是像下面這個寫法
這個寫法要注意的是 你多寫進去的資訊不會包進JWT函數中
不需要解碼就被得到資訊了
好奇的人可以自己玩玩看二者的不同
下面是REFERENCE