• 1000 API MS Graph для получения некоторых дополнительных данных из их профиля, таких как имя, фамилия, имя пользователя и т. д. c. В основном некоторые дополнительные биты информации о пользователе, которые не включаются автоматически в токен, возвращаемый из Azure AD.
Эта часть работает нормально.
Я хочу достичь настройки некоторая форма системного события или триггера, чтобы сообщить мне, когда пользователь успешно вошел в систему, я бы затем использовал этот триггер для запуска запроса Graph API и получения дополнительных атрибутов профиля пользователя. Причина, по которой я хочу это сделать, заключается в том, что каждый раз, когда пользователь запрашивает новую страницу и запускает метод или действие, я могу включать их дополнительные атрибуты в журнал.
Поскольку пакет Microsoft.Identity.Web скрывается Контроллер учетных записей где-то в пакете NuGet (при условии, что это dll или что-то в этом роде), я не могу получить к нему доступ, чтобы посмотреть, что я могу зафиксировать в виде триггера события, который я могу использовать для вышеупомянутого.
Если я не вызову MS Graph после входа пользователя в систему, у меня не будет доступа к некоторым атрибутам профиля пользователя, которые я хочу включить в структуру ведения журнала Serilog.
Как только я получу атрибуты пользователя необходимо из MS Graph, тогда я предполагаю, что лучшим решением было бы сохранить их в памяти в качестве установщиков геттеров на время существования сеанса, в который вошел, так что я могу затем получить к ним доступ из любой модели / контроллера страницы в приложении через DI или модель .
Я думал о том, чтобы просто вызвать MS Graph из On Get (), когда домашняя индексная страница загружается после успешного входа в систему, но проблема заключается в том, что пользователь не обязательно должен входить в систему, сначала посетив домашнюю страницу, они могли сохранить закладку на другой странице, которую они хотят go, чтобы прямо прочь, что означает, что метод OnGet () на домашней странице может никогда не запуститься. Мне нужно более пуленепробиваемое решение, учитывая, что я должен убедиться, что эти дополнительные атрибуты профиля пользователя извлекаются каждый раз в обязательном порядке, независимо от того, какая страница посещается впервые и вызывает процесс входа в систему.
Примечание: я наблюдал тот факт, что если я go перехожу прямо на страницу с включенной авторизацией, то после входа в систему OID C просто возвращает меня на ту же страницу.
Последним шагом в этой загадке будет удаление сохраненные атрибуты профиля пользователя из памяти после выхода пользователя из системы, но это должно быть достаточно просто, учитывая, что сеанс выхода всегда возвращает меня на https://localhost: 5001 / MicrosoftIdentity / Account / SignedOut
Если у кого-то есть идеи о том, что Я мог бы поработать с этой библиотекой для достижения вышеуказанного, было бы здорово, спасибо