JWT的学习(2)

前言:这章是在上一章基础上学习的,对于上一章要求理解代码含义,这章要求会写代码。

一.ASP.NET Core对于JWT的封装

  1. ASP.NET Core对于JWT的封装的含义

让我们在程序中使用JWT进行鉴权和授权更简单

二.JWT的封装的具体步骤

  1. 第一步:我们现在配置系统中配置一个名为JWT的节点,并在节点下创建一个SingingKey、ExpireSeconds两个配置项,分别代表JWT的密钥和过期时间单位为秒。我们在创建一个对应JWT节点的配置类JWTOption,类中包含SingingKey、ExpireSeconds这两个属性。

  1. 第二步:下载NuGet包nstall-Package Microsoft.AspNetCore.Authentication.JwtBearer -Version 6.0.12包,这个包封装了简化了ASP.NET Core中使用JWT的操作。

  1. 第三步:编写代码对JWT进行配置,把下面的代码添加到Program.cs的builder.Build之前

代码解释

第一行读取JWT文件

第二行启用Authentication做登录用的

第三到最后对JWT进行配置做校验

  1. 第四步:在Program.cs的app.UseAuthorization之前添加app.UseAuthentication

代码解释中间件的添加所以顺序不能乱

  1. 第五步:在Test1Controller类中增加登录并且创建JWT的操作方法Login2

在Controller容器中右键-》选择添加-》选择API容器-》创建项目

添加只读代码

在上一个类基础上在加在新建一个容器类命名为Demo1Controller

运行结果:报了401错误表示没有访问权限

想要改变上边的情况需要在PostMan自定义报文头:Authorization的值为“Bearer JWTToke”,

Authorization中的Bearer和JWT令牌之间一定要通过空格分开。

三.在Swagger中调试带JWT的请求

代码解释

第5行解释说明写什么都可以

第8行报文头的名字Authorization

第9 行把参数放到报文头里边

这些代码加到Programe.cs中加到

之前

点击图片左上角的图标-》然后出现下边的画面-》在框中加入Bearer空格+JWT令牌然后就可以访问了

猜你喜欢

转载自blog.csdn.net/qq_71012549/article/details/128620802