.NET6 Swagger右上角的Authorize权限按钮不显示,如何开启
首先 .NET6 是自带Swagger的,无需手动引入,但是有个问题,最初的Swagger是没有开启Authorize按钮的。

最初的模样
如何把它显示出来并将token信息加入header中呢?
只需在program.cs页面中加入如下代码:
builder.Services.AddSwaggerGen(c =>
{
var security = new OpenApiSecurityRequirement()
{
{ new OpenApiSecurityScheme
{
Reference = new OpenApiReference()
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
}, Array.Empty<string>() }
};
c.AddSecurityRequirement(security);//添加一个必须的全局安全信息,和AddSecurityDefinition方法指定的方案名称要一致,这里是Bearer。
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT授权(数据将在请求头中进行传输) 参数结构: \"Authorization: Bearer {token}\"",
Name = "Authorization",//jwt默认的参数名称
In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)
Type = SecuritySchemeType.ApiKey
});
});
再启动项目,Authorize按钮就出线了

image.png
将token以 Bearer[空格]token 的形式写入按钮中,再访问接口,token信息就会被加载http请求的header中


一份耕耘,一份收获,付出就有回报永不遭遇过失败,因我所碰到的都是暂时的挫折