У меня есть веб-сайт со страницами 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, а затем этот проект создается и развертывается.