public AuthorizeCheckOperationFilter(SupplyApiConfiguration supplyApiConfiguration) { _supplyApiConfiguration = supplyApiConfiguration; }
public static IServiceCollection AddSwaggerConfig(this IServiceCollection services, SupplyApiConfiguration supplyApiConfiguration) { services.AddSwaggerGen(c => { c.SwaggerDoc(supplyApiConfiguration.ApiVersion, new OpenApiInfo { Title = supplyApiConfiguration.ApiName, Version = supplyApiConfiguration.ApiVersion }); #region 读取xml信息 // 使用反射获取xml文件。并构造出文件的路径 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false. c.IncludeXmlComments(xmlPath, true); #endregion c.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme { Type = SecuritySchemeType.OAuth2, Flows = new OpenApiOAuthFlows { Implicit = new OpenApiOAuthFlow { AuthorizationUrl = new Uri($"{supplyApiConfiguration.IdentityServerBaseUrl}/connect/authorize"), TokenUrl = new Uri($"{supplyApiConfiguration.IdentityServerBaseUrl}/connect/token"), Scopes = new Dictionary <string, string> { { supplyApiConfiguration.OidcApiName, supplyApiConfiguration.ApiName } } } } }); c.OperationFilter <AuthorizeCheckOperationFilter>(); }); return(services); }