.net Core 3.x 中JWT 的使用

一、安装Microsoft.AspNetCore.Authentication.JwtBearer

      在nuget中搜索Microsoft.AspNetCore.Authentication.JwtBearer,添加引用到对应的项目中

二、在StartUp.cs 中添加代码

      1、ConfigureServices 中添加以下代码,其中JWTTokenOptions是自定义的一个类,表示请求的一些参数,然通过配置文件  appsettings.json获取到该值,并设置为单例模式,修改.netCore 的身份认证方式为jwt。具体代码如下图所示

       .net Core 3.x 中JWT 的使用

       .net Core 3.x 中JWT 的使用

  2、Configure中添加以下代码,比较简单,不再啰嗦,如下图所示

       .net Core 3.x 中JWT 的使用

三、项目中开始使用

      1、获取设置token 的代码,此处我把客户的Id作为一个关键字存储在token 中,如下图

   .net Core 3.x 中JWT 的使用

  2.在对应的Controller 添加标记 [Authorize]即可,如下图所示

    .net Core 3.x 中JWT 的使用

3.根据用户请求时传递的token 可以解析出之前我们存储的memberId 信息,该信息通过HttpContext属性获取到,如下图所示

   .net Core 3.x 中JWT 的使用

四、总结

   jwt 的流程是这样的

  1.用户登录系统,服务器返回一个token到前端 ,这个tokne 中存储的有客户的标识信息

  2.登录后续的每次请求,客户端都需要携带这个tokne 到服务器,服务器进而解析出客户的标识

  3.通过解析HttpContext 可以获得存储的信息,如果有不明白 .netCore 3.x 中HttpContext 的使用的朋友,可以点击链接参考