在.net Core 3.0中使用jwt验证

由于工作需要写一个下载文件的api,要求要有jwt token验证,想着正好可以在Core中试试水,下面是整个开发过程;
由于开始并不懂jwt,在网上找了些相关的资料,对于使用Core api + jwt的文章并不多,这个文章看起来有很多东西:,下面是跟着此文章进行的操作,以及自己的一些想法;
jwt由三部分构成,基本范式是:
{"alg":"HS256","typ":"JWT"}{"sub":"BY","nbf":,"exp":}加密串23456
详细说明:
1.第一部分以编码的主要包括Token的类型和所使用的算法,我的理解是定义的一个标准模板,基本使用范式即可
2.第二部分以编码的主要包含的是声明();我的理解是这个地方携带一些用户自定义的信息,但由于jwt的原理(下面会说),第一部分和第二部分使用的加密只是的编码转换,不存在加密,所以保存的信息都是次要信息
3.第三部分则是将Key通过对应的加密算法生成签名,最终三部分以点隔开;也就是通过自己的key把上面两部分加密,且这个加密是不可逆的,也就是只会存在前面两部分被修改,或者第三部分被修改,但都会失去自洽性,也就是通过这个验证;
虽然原理说起来简单,但实际操作起来就头大了,下面说下整个过程,
首先,我们先建立一个Core 3.0版的控制台,然后把必要的分层什么的建立起来
基本的分层没什么说的,mvc架构加上连数据库的,定义zip生成和下载方法的,由于不是本节重点,此处不做演示;(请忽略)
下面我们开始考虑加上jwt验证,都知道现在在vs里搞东西第一步就是去拿Nuget包,支持jwt的需要这两个包

在.net Core 3.0中使用jwt验证

文章插图
...Jwt和...
然后我们需要生成jwt的token
在这我直接在 里面写了个的方法:
()
var= new Claim[]
【在.net Core 3.0中使用jwt验证】new Claim(