public void ConfigureServices()

in aspnet/Microsoft.Samples.XMLA.HTTP/Microsoft.Samples.XMLA.HTTP.Proxy/Startup.cs [27:102]


        public void ConfigureServices(IServiceCollection services)
        {

            services.AddControllers();

            services.AddSingleton(typeof(Config));
            services.AddSingleton(typeof(TokenHelper));
            services.AddSingleton(typeof(ConnectionPool));
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Title = "Microsoft.Samples.XMLA.HTTP.Proxy",
                    Version = "v1",
                    Description = "XML/A HTTP Sample for Azure Analysis Services and Power BI Premium",
                    License = new OpenApiLicense
                    {
                        Name = "MIT",
                        Url = new Uri("https://github.com/microsoft/azure-analysis-services-http-sample/blob/master/LICENSE")
                    }

                });

                c.AddSecurityDefinition("Basic",
                    new OpenApiSecurityScheme()
                    {
                        Description = "XMLA Endpoint Credentials in HTTP Basic Auth format.  For a service Principal use app:[ClientId]@[TenantId], and pass a ClientSecret as the password.",
                        Scheme = "BASIC",
                        Type = SecuritySchemeType.Http
                    });

                OpenApiSecurityScheme securityDefinition = new OpenApiSecurityScheme()
                {
                    Name = "Bearer",
                    BearerFormat = "JWT",
                    Scheme = "bearer",
                    Description = "Bearer Auth with a token for AAS or Power BI.  The token should be for 'https://analysis.windows.net/powerbi/api' or 'https://*.asazure.windows.net'",
                    In = ParameterLocation.Header,
                    Type = SecuritySchemeType.Http,
                };
                c.AddSecurityDefinition("Bearer", securityDefinition);


                c.AddSecurityRequirement(new OpenApiSecurityRequirement()
                {
                    {
                        new OpenApiSecurityScheme()
                            {
                                Reference = new OpenApiReference()
                                {
                                    Id = "Basic", //The name of the previously defined security scheme.
                                    Type = ReferenceType.SecurityScheme
                                }
                            },new List<string>()
                    }

                });

                c.AddSecurityRequirement(new OpenApiSecurityRequirement()
                {
                    {
                        new OpenApiSecurityScheme()
                            {
                                Reference = new OpenApiReference()
                                {
                                    Id = "Bearer", //The name of the previously defined security scheme.
                                    Type = ReferenceType.SecurityScheme
                                }
                            },new List<string>()
                    }

                });


            });
        }