Я развернул проект, созданный на основе быстрого запуска от identityserver4 (https://github.com/IdentityServer/IdentityServer4.Demo).. Он прекрасно работает, пока я запускаю его локально, но при развертывании его в Azure страница индекса возвращает 404, но когдаЯ вручную перехожу на другие маршруты (например, "/ account / login"), они работают как положено.
My Startup.cs:
using System;
using System.Linq;
using System.Threading.Tasks;
using LunchBucks.Auth.Extensions;
using LunchBucksEncryption;
using LunchBucksEncryption.PasswordHashing;
using LunchBucksEncryption.SaltGeneration;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
namespace LunchBucks.Auth
{
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<ISaltGeneration, SaltGeneration>();
services.AddTransient<IPasswordHashing, PasswordHashing>();
services.AddTransient<IEncryptionManagement, EncryptionManagement>();
services.AddMvc();
services.AddIdentityServer()
.AddDeveloperSigningCredential()
.AddInMemoryApiResources(ApiResourceExtensions.GetApiResources())
.AddInMemoryClients(ClientExtensions.GetClients())
.AddInMemoryIdentityResources(ClientExtensions.GetIdentityResources())
.AddLunchBucksUserStore();
services.AddCors(options =>
{
options.AddPolicy("default", policy =>
{
policy.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod();
policy.WithOrigins("https://lunchbucks-frontend.azurewebsites.net")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("default");
app.UseIdentityServer();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });
});
}
}
}
Program.cs:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Документы Azure Web App по умолчанию:
Вся структура папок приложений MVC с контроллерами и представлениями идентична быстрому запуску.
Понятия не имеючто здесь не так, так как работает локально, поэтому любая помощь будет признательна :) Заранее спасибо.