internal static WebApplication ConfigureServices(this WebApplicationBuilder builder)
    {
        builder.Services.AddRazorPages()
        .AddRazorRuntimeCompilation();

        builder.ConfigureIdentityServer();
        builder.AddExternalIdentityProviders();

        builder.AddAdminFeatures();

        // var apiKey = builder.Configuration["HoneyCombApiKey"];
        // var dataset = "IdentityServerDev";
        //
        // builder.Services.AddOpenTelemetryTracing(builder =>
        // {
        //     builder
        //         //.AddConsoleExporter()
        //         .AddSource(IdentityServerConstants.Tracing.ServiceName)
        //         .SetResourceBuilder(
        //             ResourceBuilder.CreateDefault()
        //                 .AddService("IdentityServerHost.EF"))
        //         //.SetSampler(new AlwaysOnSampler())
        //         .AddHttpClientInstrumentation()
        //         .AddAspNetCoreInstrumentation()
        //         .AddSqlClientInstrumentation()
        //         .AddOtlpExporter(option =>
        //         {
        //             option.Endpoint = new Uri("https://api.honeycomb.io");
        //             option.Headers = $"x-honeycomb-team={apiKey},x-honeycomb-dataset={dataset}";
        //         });
        // });

        return(builder.Build());
    }
    internal static WebApplication ConfigureServices(this WebApplicationBuilder builder)
    {
        builder.Services.AddRazorPages()
        .AddRazorRuntimeCompilation();

        builder.Services.AddControllers();

        // cookie policy to deal with temporary browser incompatibilities
        builder.Services.AddSameSiteCookiePolicy();

        builder.ConfigureIdentityServer();
        builder.AddExternalIdentityProviders();

        builder.AddAdminFeatures();

        builder.Services.AddLocalApiAuthentication(principal =>
        {
            principal.Identities.First().AddClaim(new Claim("additional_claim", "additional_value"));

            return(Task.FromResult(principal));
        });


        // var apiKey = builder.Configuration["HoneyCombApiKey"];
        // var dataset = "IdentityServerDev";
        //
        // builder.Services.AddOpenTelemetryTracing(builder =>
        // {
        //     builder
        //         .AddSource(IdentityServerConstants.Tracing.Basic)
        //         .AddSource(IdentityServerConstants.Tracing.Cache)
        //         .AddSource(IdentityServerConstants.Tracing.Services)
        //         .AddSource(IdentityServerConstants.Tracing.Stores)
        //         .AddSource(IdentityServerConstants.Tracing.Validation)
        //
        //         .SetResourceBuilder(
        //             ResourceBuilder.CreateDefault()
        //                 .AddService("IdentityServerHost.Main"))
        //
        //         //.SetSampler(new AlwaysOnSampler())
        //         .AddHttpClientInstrumentation()
        //         .AddAspNetCoreInstrumentation()
        //         .AddSqlClientInstrumentation()
        //         //.AddConsoleExporter()
        //         .AddOtlpExporter(option =>
        //         {
        //             option.Endpoint = new Uri("https://api.honeycomb.io");
        //             option.Headers = $"x-honeycomb-team={apiKey},x-honeycomb-dataset={dataset}";
        //         });
        // });

        return(builder.Build());
    }