Включение CORS со значениями заголовка динамического происхождения в AWS API Gateway для ASP.NET Core API - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу включить cors, одновременно предоставляя динамическое значение для Access-Control-Allow-Origin, чтобы он мог поддерживать несколько доменов, но при этом не иметь междоменного доступа. Это основная функция ASP.NET, размещенная в AWS Lambda и вызываемая через шлюз API.

Я добавил services.AddCors(); к моей ConfigureServices функции, и это моя Configure функция в Startup:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
        app.UseDeveloperExceptionPage();
    else
        app.UseHsts();

    app.UseHttpsRedirection();

    Microsoft.Extensions.Primitives.StringValues referrer = "";
    app.Use((context, next) =>
    {
        context.Request.Headers.TryGetValue("Referer", out referrer);
        return next();
    });
    app.UseCors(options => options.AllowAnyHeader().AllowAnyMethod().WithOrigins(referrer.ToString()));

    app.UseMvc();
}

Затем я нажал «Включить CORS в API-шлюзе» и заменил значение «*» для заголовка разрешения источника на integration.response.header.Access-Control-Allow-Origin, как в «1011 ** 1012».

Это не сработало, поэтому я предположил, что это потому, что оно использовало интеграцию Mock и изменило интеграцию на мою лямбда-функцию, и я получил ошибку 404.

(Я также попытался добавить атрибут HttpOptions к моей функции в моем контроллере, который тоже не работал).

Возможно ли, чтобы API-шлюз использовал значения из самой функции в качестве заголовков CORS, если да, то как?

...