1.首先還是粘貼大神的鏈接
雖然說大神的博客已經講得很詳細了,但是此處還是自己動手好點。
首先配置Startup Swagger的驗證
2.新建一個項目存放tokenmodel和生成token並且存入緩存
以上是tokenmodel 具體屬性可以自定義
緩存幫助類安裝nuget包Microsoft.Extensions.Caching.Memory
代碼:
生成token字符串
代碼:
新建中間件:TokenAuth
代碼:
在Startup配置注意這里需要放在app.UseMvc();上面
注冊緩存和驗證:
3.驗證使用
為了驗證使用我直接寫了一個生成token字符串的接口
點擊驗證,這樣你的接口就可以訪問成功了。
2019.9.11更新
感覺出現瓶頸了,搭完簡單的框架之后就不知道要干嘛了,感覺一下沒有目標了,所以就抽空把JWT來深入一下。
前面講的JWT是存入緩存的,所以用不用JWT生成字符串其實都無所謂,下面講一下JWT的身份驗證。
這生成JWT字符串的類里面加了兩個方法,一個是生成字符串,一個是解析字符串的
代碼:
同時在登錄哪里登錄成功之后調用生成字符串的方法,並返回。

實體也根據自己的情況修改了一下,這里其實主要用的角色這個字段
還加了一個配置類,主要配置密鑰和過期時間的
最后就是中間件的修改了,這里給解析出來的身份進行了授權。
然后就是Startup配置修改了,這里用的是畫紅線的那個,大神說可以用多個身份的,我試了沒成功,如果有哪位知道原因也可以告訴我一下
然后和之前一下使用就可以了,登錄的時候拿到JWT字符串,然后訪問接口的時候進行認證(直接用Swagger上的鎖就可以)