Я создаю приложение ASP.NET с Azure Active Directory в качестве поставщика удостоверений. У меня SSO работает нормально под экземпляром Azure AD нашей организации, который предоставляет данные пользователя для приложения, такие как имя, адрес электронной почты и т. Д. При входе в систему. Он также предоставляет роль приложения, настроенную в манифесте и назначенную пользователям.
Сейчас я пытаюсь найти ответы или примеры для базовой архитектуры интегрированного приложения Azure AD, в частности следующие:
- В базе данных есть объекты, которые могут быть назначены пользователям. Правильно ли хранить здесь идентификатор объекта Azure AD пользователя?
- Если сохранить идентификатор объекта из (1), как мы можем преобразовать их в полные имена для отображения в приложении? Кажется расточительным отправлять отдельные запросы в Graph при возврате нескольких записей, но, возможно, это единственный способ?
- При обращении к каталогу с использованием Graph, эти вызовы относятся к бизнес-уровню, поскольку они будут частью запроса? В настоящее время аутентификация (с использованием OpenID Connect с OWIN в проекте ASP.NET) возвращает код авторизации, который, в свою очередь, используется для запроса токена-носителя, необходимого для всех вызовов Graph. Я не уверен, как правильно их разделить.