token應用流程
初次登錄:用戶初次登錄,輸入用戶名密碼
密碼驗證:服務器從數據庫取出用戶名和密碼進行驗證
生成JWT:服務器端驗證通過,根據從數據庫返回的信息,以及預設規則,生成JWT
返還JWT:服務器的HTTP RESPONSE中將JWT返還
帶JWT的請求:以后客戶端發起請求,HTTP REQUEST HEADER中的Authorizatio字段都要有值,為JWT
Install-Package JWT
實戰教程
install-package Thinktecture.IdentityModel.Core
install-package Microsoft.Owin.Security.Jwt
解決錯誤
http://home.bdqn.cn/thread-13632-1-1.html
在IIS中訪問APS頁面時提示:“最可能的原因使用的托管的處理程序,但是未安裝或未完整安裝asp.net“
打開CMD窗口,執行下面的命令:
"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable
認證原理
一個不記名 token 包含了三部分:header,payload,signature。
header 是 token 的一部分,用來存放 token 的類型和編碼方式,通常是使用 base-64 編碼。
payload 包含了信息。你可以存放任一種信息,比如用戶信息,產品信息等。它們都是使用 base-64 編碼方式進行存儲。
signature 包括了 header,payload 和密鑰的混合體。
代碼實戰
JsonWebToken.Validate(accessToken, ApiAccount.AppSecret, (int)AppSettings.TokenTimeout.TotalSeconds);
參考資料
https://www.cnblogs.com/danvic712/p/10331976.html
http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html
http://www.cnblogs.com/grissom007/p/6294746.html
http://www.cnblogs.com/selimsong/p/8184904.html
https://www.cnblogs.com/xz816111/p/9620139.html