예제 #1
0
 public void Configure(IApplicationBuilder app)
 {
     EsquioUIApiConfiguration.Configure(app, _ => _, host =>
     {
         return(host.UseAuthentication().UseAuthorization());
     });
 }
예제 #2
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IApiVersionDescriptionProvider apiVersion)
        {
            EsquioUIApiConfiguration.Configure(app,
                                               preConfigure: appBuilder =>
            {
                appBuilder.AddClientBlazorConfiguration();
                appBuilder.UseResponseCompression();

                if (env.IsDevelopment())
                {
                    appBuilder.UseDeveloperExceptionPage();
                }

                return(appBuilder.UseDefaultFiles().UseStaticFiles());
            },
                                               postConfigure: appBuilder =>
            {
                return(appBuilder.UseAuthentication()
                       .UseAuthorization()
                       .UseBlazorFrameworkFiles()
                       .UseSwagger()
                       .UseSwaggerUI(setup =>
                {
                    setup.EnableDeepLinking();

                    foreach (var description in apiVersion.ApiVersionDescriptions)
                    {
                        setup.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName);
                    }
                }));
            });
        }
예제 #3
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IApiVersionDescriptionProvider apiVersion)
        {
            EsquioUIApiConfiguration.Configure(app,
                                               preConfigure: appBuilder =>
            {
                appBuilder.AddClientBlazorConfiguration();
                appBuilder.UseResponseCompression();

                if (env.IsDevelopment())
                {
                    appBuilder.UseDeveloperExceptionPage();
                    appBuilder.UseWebAssemblyDebugging();
                }

                return(appBuilder
                       .UseCors(builder =>
                {
                    var configuredOrigins = Configuration.GetValue <string>("Cors:Origins");

                    if (!string.IsNullOrEmpty(configuredOrigins))
                    {
                        var allowedOrigins = configuredOrigins.Split(',');

                        builder.WithOrigins(allowedOrigins)
                        .AllowAnyHeader()
                        .AllowAnyMethod();
                    }
                }).UseDefaultFiles().UseStaticFiles());
            },
                                               postConfigure: appBuilder =>
            {
                return(appBuilder.UseAuthentication()
                       .UseAuthorization()
                       .UseBlazorFrameworkFiles()
                       .UseSwagger()
                       .UseSwaggerUI(setup =>
                {
                    setup.EnableDeepLinking();
                    setup.OAuthScopeSeparator(" ");
                    setup.OAuthUsePkce();

                    foreach (var description in apiVersion.ApiVersionDescriptions)
                    {
                        setup.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName);
                    }
                }));
            });
        }
예제 #4
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            EsquioUIApiConfiguration.Configure(app,
                                               preConfigure: host =>
            {
                var rewriteOptions = new RewriteOptions()
                                     .AddRewrite(@"^(?!.*(api\/|.*\.(js|css|ico)|fonts\/|img\/|static\/|swagger*|ws\/*)).*$", "index.html", skipRemainingRules: true);

                return(host
                       .UseHttpsRedirection()
                       .UseRewriter(rewriteOptions)
                       .UseDefaultFiles()
                       .UseStaticFiles());
            },
                                               postConfigure: host =>
            {
                return(host
                       .UseAuthentication()
                       .UseAuthorization());
            });
        }