55 lines
1.4 KiB
C#
55 lines
1.4 KiB
C#
using FictionArchive.Service.Shared.Extensions;
|
|
|
|
namespace FictionArchive.API;
|
|
|
|
public class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
|
|
builder.Services.AddHealthChecks();
|
|
|
|
#region Fusion Gateway
|
|
|
|
builder.Services.AddHttpClient("Fusion")
|
|
.AddHeaderPropagation(opt =>
|
|
{
|
|
opt.Headers.Add("Authorization");
|
|
});
|
|
|
|
builder.Services
|
|
.AddFusionGatewayServer()
|
|
.ConfigureFromFile("gateway.fgp")
|
|
.CoreBuilder.ApplySaneDefaults();
|
|
|
|
#endregion
|
|
|
|
// Add authentication
|
|
builder.Services.AddOidcAuthentication(builder.Configuration);
|
|
|
|
builder.Services.AddCors(options =>
|
|
{
|
|
options.AddPolicy("AllowFictionArchiveOrigins",
|
|
policyBuilder =>
|
|
{
|
|
policyBuilder.WithOrigins("https://fictionarchive.orfl.xyz", "http://localhost:5173")
|
|
.AllowAnyMethod()
|
|
.AllowAnyHeader()
|
|
.AllowCredentials();
|
|
});
|
|
});
|
|
|
|
var app = builder.Build();
|
|
|
|
app.UseCors("AllowFictionArchiveOrigins");
|
|
|
|
app.MapHealthChecks("/healthz");
|
|
|
|
app.UseHeaderPropagation();
|
|
|
|
app.MapGraphQL();
|
|
|
|
app.RunWithGraphQLCommands(args);
|
|
}
|
|
} |