Я хочу включить 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, если да, то как?