一、JWT授权认证流程——自定义中间件

Swagger中开启JWT服务

我们要测试 JWT 授权认证,就必定要输入 Token令牌,那怎么输入呢,平时的话,我们可以使用 Postman 来控制输入,就是在请求的时候,在 Header 中,添加Authorization属性,

但是我们现在使用了 Swagger 作为接口文档,那怎么输入呢,别着急, Swagger 已经帮我们实现了这个录入 Token令牌的功能:

注意是swagger服务内部:

builder.Services.AddSwaggerGen(
    option =>
{
    //添加安全定义
    option.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
    {
        Description = "请输入token,格式为Bearer xxxxxxxxxxx(注意中间有空格)",
        Name = "Authorization",
        In = ParameterLocation.Header,
        Type = SecuritySchemeType.ApiKey,
        BearerFormat = "JWT",
        Scheme = "Bearer"
    }
        );
    //添加安全要求
    option.AddSecurityRequirement(new OpenApiSecurityRequirement {
    {
        new OpenApiSecurityScheme{
            Reference =new OpenApiReference{
               Type=ReferenceType.SecurityScheme,
               Id ="Bearer"

            }
        },new string[]{ }
        }
    });
}


    );

然后执行代码,就可以在 swagger/index.html 页面里看到这个Token入口了:

大家点开,看到输入框,在输入Token的时候,需要在Token令牌的前边加上Bearer (为什么要加这个,下文会说明,请一定要注意看,一定要明白为啥要带,因为它涉及到了什么是授权,什么是认证,还要自定义认证中间件还是官方认证中间件的区别,请注意看下文),比如是这样的:

 

猜你喜欢

转载自blog.csdn.net/Yilong18/article/details/127529430