1. 程式人生 > 其它 >.Net5 Core 配置 Swagger 並進行全域性Token新增

.Net5 Core 配置 Swagger 並進行全域性Token新增

public void ConfigureServices(IServiceCollection services)
{

services.AddControllers().AddNewtonsoftJson();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "GraphqlApp.BackendAPI", Version = "v1" });
c.DocInclusionPredicate((docName, description) => true);
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT授權(資料將在請求頭中進行傳輸) 在下方輸入Bearer {token} 即可,注意兩者之間有空格",
Name = "Authorization",//jwt預設的引數名稱
In =ParameterLocation.Header,//jwt預設存放Authorization資訊的位置(請求頭中)
Type =SecuritySchemeType.ApiKey
});
//認證方式,此方式為全域性新增
c.AddSecurityRequirement(new OpenApiSecurityRequirement {

{ new OpenApiSecurityScheme
{
Reference = new OpenApiReference()
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
}, Array.Empty<string>() }
});
});

}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, XAdminSettingService xAdminSetting)
{

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
#region 開發環境下啟用Swagger
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "GraphqlApp.BackendAPI v1")) ;

#endregion
}

}