一、安裝Microsoft.AspNetCore.Authentication.JwtBearer
在nuget中搜索Microsoft.AspNetCore.Authentication.JwtBearer,添加引用到對應的項目中
二、在StartUp.cs 中添加代碼
1、ConfigureServices 中添加以下代碼,其中JWTTokenOptions是自定義的一個類,表示請求的一些參數,然通過配置文件 appsettings.json獲取到該值,並設置爲單例模式,修改.netCore 的身份認證方式爲jwt。具體代碼如下圖所示
2、Configure中添加以下代碼,比較簡單,不再囉嗦,如下圖所示
三、項目中開始使用
1、獲取設置token 的代碼,此處我把客戶的Id作爲一個關鍵字存儲在token 中,如下圖
2.在對應的Controller 添加標記 [Authorize]即可,如下圖所示
3.根據用戶請求時傳遞的token 可以解析出之前我們存儲的memberId 信息,該信息通過HttpContext屬性獲取到,如下圖所示
四、總結
jwt 的流程是這樣的
1.用戶登錄系統,服務器返回一個token到前端 ,這個tokne 中存儲的有客戶的標識信息
2.登錄後續的每次請求,客戶端都需要攜帶這個tokne 到服務器,服務器進而解析出客戶的標識
3.通過解析HttpContext 可以獲得存儲的信息,如果有不明白 .netCore 3.x 中HttpContext 的使用的朋友,可以點擊鏈接參考