.net core jwt 入門記錄


百度里搜索里搜索了很多jwt的文章,跟着文章寫了一個demo,這里記錄下學習過程中碰上的問題。看文章多遍,不如手工實現一次。

模板已上傳到github.com:dogvane/webapi_jwt_template

讓項目先飛起來

網上的都只是文章和代碼片段,github里找的,要么跑不起來(需要配置的其它依賴,數據庫等),要么代碼結構巨復雜,不知從何改起。

對於demo來說,就只需要2個功能

1.生成jwt的token並返回給前端(AccountController.Login)

2.執行一個需要權限業務方法,並在里面獲得用戶id(AccountController.DoYourTask)

需要注意的地方:

 

生成token代碼里,如果發行人信息和 startup.cs 里的不一致,是無法驗證通過的,特別是當你的代碼時分別從2個地方copy的時候(不要問我怎么知道的o(>﹏<)o)。

所以,一個解析jwt信息的網站很重要 在線解析jwt參數 http://jwt.calebb.net/

在做測試時,使用了 swagger 讓swagger ui 的請求帶頭部信息 https://www.cnblogs.com/JacZhu/p/6188968.html

至於為什么要在 BaseController里解析出UserId,大家自己領悟吧。在這里一開始找了很多文章,沒一篇是說如何從jwt里解析出數據的,因為腦子沒轉過來,所以呵呵了很久。

其實,換一個角度想一想就知道了,不需要找什么文章,token從Request里可以獲取,jwt的的處理類已經加入系統,只需要翻查一下api就行。所以說,讀博百篇,不如動手實現。

加幾個關鍵詞,方便有這樣搜索需求的同學:.net core jwt Decode userid



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM