引入swagger后,在services.AddSwaggerGen
中增加如下內容
// Register the Swagger generator, defining 1 or more Swagger documents
services.AddSwaggerGen(c =>
{
......
//Bearer 的scheme定義
var securityScheme = new OpenApiSecurityScheme()
{
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
Name = "Authorization",
//參數添加在頭部
In = ParameterLocation.Header,
//使用Authorize頭部
Type = SecuritySchemeType.Http,
//內容為以 bearer開頭
Scheme = "bearer",
BearerFormat = "JWT"
};
//把所有方法配置為增加bearer頭部信息
var securityRequirement = new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = "bearerAuth"
}
},
new string[] {}
}
};
//注冊到swagger中
c.AddSecurityDefinition("bearerAuth", securityScheme);
c.AddSecurityRequirement(securityRequirement);
});
添加成功后,swagger右上方會有一個Authroize
按鈕,點擊后可以輸入bearer token。
每個API方法后,會有一個鎖的標志,表明該方法會傳遞bearer token。