Мы используем IdentityServer 4 в качестве сервера входа в систему в сочетании с Web API 2.0 и Angular 5.
Меня попросили записать дату и время входа пользователей в систему, что не кажется слишкомнеразумным.IdentityServer 4 по умолчанию этого не делает.
Я подумал, что наиболее разумным решением было бы добавить столбец LoginTime в таблицу AspNetUsers и соответствующее свойство в классе ApplicationUser, тогда я мог бы просто установить этово время входа в систему.Я не могу изменить действительный код входа в систему, поскольку это происходит в классе UserManager
, но я подумал, что могу добавить свой собственный дополнительный код, например, в методе контроллера, или его абстракцию в любом случае.
Но я не могу перехватить вызов конечной точки входа в систему.У меня везде есть точки останова, и ни одна из них не была взломана, и, в любом случае, ни у одной из них нет подписи, соответствующей опубликованным данным.Инструменты разработчика в Chrome говорят мне, что вызов выглядит так, как будто он «примерно» в нужном месте, но я начинаю думать, что сама конечная точка встроена в API, где у меня нет доступа.
Полагаю, возможно, что это опция конфигурации, но если это так, я не могу выяснить, какой именно.
В таком случае, как я могу расширить метод входа в систему для записи даты и времени??Я искал в Интернете, чтобы найти способ расширить процесс входа в систему, но нигде не могу его найти.
Это необходимо сделать одновременно с созданием токена аутентификации.Второй звонок от клиента теоретически может быть обойден, и это не будет хорошо.
Я собирался опубликовать здесь некоторый код, так как знаю, что его, вероятно, попросят, но он не выглядит актуальнымпоскольку я все равно не могу найти правильную конечную точку!
Как я могу расширить конечную точку входа в систему, чтобы сохранить дату и время входа пользователей в систему?