asp.net core 2.2 внешняя аутентификация и угловое приложение как страница Razor - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть веб-сайт со страницами Core 2.2 Razor, и у меня есть угловое приложение, которое я просто добавляю в папку wwwroot/app.Чтобы заставить его работать, я настраиваю приложение asp.net следующим образом:

app.Use(async (context, next) =>
{
  await next();
  if (context.Response.StatusCode == 404 && context.Request.Path.Value.Contains("/app/") && !context.Request.Path.Value.Contains("/api/") && !Path.HasExtension(context.Request.Path.Value))
  {
    context.Request.Path = "/app/index.html";
    await next();
  }
});
app.UseDefaultFiles(new DefaultFilesOptions { DefaultFileNames = new List<string> { "index.html" } });

Это делает угловое приложение работающим, когда открыто https://mysite/app.

Но эта настройка не позволяетмне использовать внешнюю аутентификацию (MSA, Facebook и т. д.), как я использую на других страницах Razor:

  [Authorize(Policy = "OnlyWithSpecificEmails")]

Итак, как я могу заставить работать аутентификацию для углового приложения под /app route?

PS.Причина, по которой я внедряю угловое приложение таким образом, в основном заключается в DevOps - у меня есть конвейер, который сначала создает угловое приложение, копирует результат в проект Razor, а затем этот проект создается и развертывается.

...