Я наконец нашел корень этой проблемы.
Существует проблема с Identity в ASP.NET Core 2.1, из-за которой, если вы реализовали свою собственную версию UserStore, но не IUserSecurityStampStore, большинство функций касаютсяштампы безопасности будут пропущены.
Когда вы вызываете AddIdentity (), он проверяет правильность метки безопасности каждые 30 минут.
Это приводит к сбивающему с толку поведению, когда пользователь выходит из системы после 30минут, даже если срок действия файлов cookie не истек.
В ASP.NET Core 2.2, по-видимому, есть исправление для этого, более подробная информация здесь
https://github.com/aspnet/Identity/issues/1880
Тем временем вы можете либо получить свой UserStore по адресуреализовать IUserSecurityStampStore или сделать то, что я сейчас сделал, как быстрое решение, добавив его в файл startup.cs, который увеличивает время между отказами с 30 минут до 10 часов.
services.Configure (o => o.ValidationInterval = TimeSpan.FromHours (10));