Мы сделали это, используя существующие события, предоставляемые IDS4, в сочетании с нашими собственными и отправляя их через Mediatr обработчикам, которые затем могут регистрировать или выполнять другие действия (например, отправлять оповещения по электронной почте конечным пользователям или вызывать внешние интеграции).Мы также добавили Hangfire к миксу, чтобы обрабатывать некоторые вещи в фоновом режиме.
IDS4 --event--> IEventSink --publish--> Mediatr --dipatch--> IAsyncNotificationHandler(s) ---> action
Our custom events --publish--> Mediatr --dispatch--> IAsyncNotificationHandler(s) --> action
action
может планировать команду зависания или запись в БД и т. Д.
Что касается контекстао текущем запросе - поскольку эти события вызываются в контексте запроса, у вас достаточно много доступной информации - в первую очередь, претензий к данному пользователю.
Мы не регистрируем ничего чувствительного, например пароли или сами токены, но регистрация заявок, вероятно, подойдет, поскольку сами по себе они не должны быть особенно чувствительными.
Если вам нужно больше, чем IDS4Затем вам может понадобиться переопределить их код и внедрить собственную логику создания событий.Например, вы можете расширить DefaultClaimsService
и переопределить GetIdentityTokenClaimsAsync
, чтобы вставить собственную логику.