Мы создаем службу токенов безопасности с использованием IdentityServer4. Из-за требований аудита мы хотели бы регистрировать каждую успешную (и неудачную) попытку входа в систему вместе с информацией о выпущенном токене, в частности: что утверждает, что токен включает.
Наиболее очевидная часть, кажется, включает (часть) события типы, предоставленные в IdentityServer, и создают пользовательский приемник событий, где можно обработать успешный и неудачный вход в систему (например, зарегистрировать в базе данных).
Мы создали такой приемник, но событие, переданное в метод PersistAsync, содержит только информацию о пользователе, пытающемся войти в систему, и ничего о выданном токене. Я также нахожу различные выпущенные (здесь, здесь и здесь), в котором упоминаются проблемы безопасности, связанные с поддержкой ведения журнала токенов, настройки ведения журнала токенов и т. д., и все это заставляет меня поверить в то, что это может быть не так просто, как мы надеемся.
Таким образом, возникает вопрос: где, если это вообще возможно, было бы правильным / лучшим местом для подключения к IdentityServer i, чтобы добиться ведения журнала аудита выпущенных токенов?