Browse Source

feat(template): The template adds swagger oauth configuration

pull/1255/head
colin 11 months ago
parent
commit
843e5977b5
  1. 21
      aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs
  2. 5
      aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs

21
aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.Configure.cs

@ -317,10 +317,15 @@ public partial class ProjectNameHttpApiHostModule
} }
} }
private void ConfigureSwagger(IServiceCollection services) private void ConfigureSwagger(IServiceCollection services, IConfiguration configuration)
{ {
// Swagger // Swagger
services.AddSwaggerGen( services.AddAbpSwaggerGenWithOAuth(
configuration["AuthServer:Authority"],
new Dictionary<string, string>
{
{ configuration["AuthServer:Audience"], "ProjectName API"}
},
options => options =>
{ {
options.SwaggerDoc("v1", new OpenApiInfo { Title = "ProjectName API", Version = "v1" }); options.SwaggerDoc("v1", new OpenApiInfo { Title = "ProjectName API", Version = "v1" });
@ -337,13 +342,13 @@ public partial class ProjectNameHttpApiHostModule
}); });
options.AddSecurityRequirement(new OpenApiSecurityRequirement options.AddSecurityRequirement(new OpenApiSecurityRequirement
{ {
{
new OpenApiSecurityScheme
{ {
new OpenApiSecurityScheme Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }
{ },
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } new string[] { }
}, }
new string[] { }
}
}); });
options.OperationFilter<TenantHeaderParamter>(); options.OperationFilter<TenantHeaderParamter>();
options.HideAbpEndpoints(); options.HideAbpEndpoints();

5
aspnet-core/templates/micro/content/host/PackageName.CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs

@ -115,9 +115,9 @@ public partial class ProjectNameHttpApiHostModule : AbpModule
ConfigurePermissionManagement(configuration); ConfigurePermissionManagement(configuration);
ConfigureTextTemplatingManagement(configuration); ConfigureTextTemplatingManagement(configuration);
ConfigureSwagger(context.Services);
ConfigureMvc(context.Services, configuration); ConfigureMvc(context.Services, configuration);
ConfigureCors(context.Services, configuration); ConfigureCors(context.Services, configuration);
ConfigureSwagger(context.Services, configuration);
ConfigureDistributedLock(context.Services, configuration); ConfigureDistributedLock(context.Services, configuration);
ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment()); ConfigureSecurity(context.Services, configuration, hostingEnvironment.IsDevelopment());
} }
@ -147,8 +147,7 @@ public partial class ProjectNameHttpApiHostModule : AbpModule
var configuration = context.GetConfiguration(); var configuration = context.GetConfiguration();
options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); options.OAuthScopes(configuration["AuthServer:Audience"]);
options.OAuthScopes("ProjectName");
}); });
app.UseAuditing(); app.UseAuditing();
app.UseAbpSerilogEnrichers(); app.UseAbpSerilogEnrichers();

Loading…
Cancel
Save