首先 .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按钮就出线了
将token以 Bearer[空格]token 的形式写入按钮中,再访问接口,token信息就会被加载http请求的header中
网友评论