У меня есть приложение .NET Core Web API с Angular 2 на стороне клиента.
Я настраиваю .NET Core Identity со следующими параметрами в Startup.cs
:
options.Password.RequiredLength = 5;
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireUppercase = false;
options.Password.RequireNonAlphanumeric = false;
options.SecurityStampValidationInterval = TimeSpan.FromMinutes(1);
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
options.Lockout.MaxFailedAccessAttempts = 100;
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(14);
options.Cookies.ApplicationCookie.LoginPath = "/api/signin/signin";
options.Cookies.ApplicationCookie.LogoutPath = "/api/signin/signout";
options.User.RequireUniqueEmail = false;
So,
Пользователь вошел в систему - установлен файл cookie авторизации.
Через 60 секунд вызовы конечных точек API/* обновляют этот файл cookie до нового значения... поэтому вызовы работают
Однако вызовы файлов HTML/JS не обновляют файл cookie — они продолжают использовать предыдущий файл cookie, который теперь, предположительно, не привязан к сеансу, что означает, что мы получаем 500. ошибка, поскольку он не может что-то сделать.
При загрузке любой конечной точки API/* файлы cookie и файлы HTML/JS снова работают.
Короче говоря, проблема, похоже, связана с тем, что файл cookie авторизации не обновляется для всего статического контента. И он просто отлично работает без каких-либо файлов cookie, когда пользователь выходит из системы.
Как я могу это исправить? Заранее спасибо.