public static void ConfigureServices(IServiceCollection services, SwaggerConfiguration swaggerConfiguration, AuthConfiguration authConfiguration)
 {
     services.AddSwaggerGen(c =>
     {
         c.SwaggerDoc("v1",
                      new Info
         {
             Version        = "v1",
             Title          = "Swashbuckle Sample API",
             Description    = "A sample API for testing Swashbuckle",
             TermsOfService = "Some terms ..."
         }
                      );
         if (authConfiguration?.IsEnabled == true)
         {
             c.AddSecurityDefinition("oauth2", new OAuth2Scheme
             {
                 Type             = "oauth2",
                 Flow             = "implicit",
                 AuthorizationUrl = $"{authConfiguration.Authority}/connect/authorize",
                 Scopes           = new Dictionary <string, string>
                 {
                     //{"openid","openid"},
                     { $"{authConfiguration.Scope}", authConfiguration.Scope }
                 }
             });
             c.OperationFilter <SecurityRequirementsOperationFilter>();
         }
     });
     services.ConfigureSwaggerGen(c =>
     {
         c.IncludeXmlComments(GetXmlCommentsPath(PlatformServices.Default.Application));
     });
 }
        public static void Configure(IApplicationBuilder app, SwaggerConfiguration swaggerConfiguration, AuthConfiguration authConfiguration)
        {
            app.UseSwagger(c =>
            {
                c.PreSerializeFilters.Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value);
            });

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs");

                if (authConfiguration?.IsEnabled == true)
                {
                    c.OAuthClientId(swaggerConfiguration.ClientId);
                    c.OAuthRealm(authConfiguration.Application);
                    c.OAuthAppName(swaggerConfiguration.ApplicationName);
                    c.OAuthScopeSeparator(" ");
                }
            });
        }