Я разработал на своем веб-сайте функцию, которая позволяет входить в систему с помощью Azure.
Таким образом, пользователи моего сайта могут войти в систему, используя:
Azure (OAuth2). Мы используем мультитенантное приложение. Мы просто используем приложение для входа пользователей. Поэтому мы не используем токен доступа для выполнения запросов. Мы просто используем токен доступа для получения электронной почты пользователя (расшифровывая его с помощью JWT).
Их собственный пароль электронной почты они могут установить на моем сайте.
Это создает проблему:
Представьте себе человека, который начинает работать в компании. ИТ-специалисты отправляют ему электронное письмо, принадлежащее их учетной записи Azure (с доменом учетной записи). У этой группы также есть учетная запись на моем сайте (настроенная с теми же доменами, которые они используют в Azure). Таким образом, этот пользователь попытается войти на мой сайт, используя свои учетные данные. Мы создадим его профиль в учетной записи их компании (из-за домена электронной почты). Он устанавливает свой пароль. Иногда он использует Azure для входа в систему, а иногда он использует свой пароль электронной почты для входа.
В следующем месяце этого человека уволят. ИТ-команда удаляет его из Azure. Хотя ИТ-специалисты забыли об удалении его и на моем сайте. Таким образом, у этого пользователя есть разрешения на вход со своими учетными данными и паролем электронной почты и при этом он может видеть личную информацию (он даже может удалять личные файлы).
Я хотел бы знать, есть ли способ синхронизировать мое приложение с каждым каталогом, который его использует. Таким образом, я мог бы получать уведомления о действиях пользователя (например, об удалении пользователей). Было бы здорово получить звонок на конечную точку с информацией о важных действиях пользователя. Таким образом, мы сможем удалить пользователя также с нашей платформы. Таким образом, компания может забыть об удалении пользователя с моего сайта без проблемы с кражей информации.
PS: Я видел, что у вас есть синхронизация выхода с использованием SAML, но мне интересно, сможем ли мы получать другие виды уведомлений, потому что мы не хотим выходить из системы при выходе пользователя из Azure.
2 ответа
Я разговаривал со службой поддержки Microsoft, и у Microsoft нет возможности вызвать нашу конечную точку для получения некоторых уведомлений.
Таким образом, единственное решение - запросить разрешение администратора или, имея refresh_token из Oauth2, проверить, что пользователь по-прежнему отображается в Graph (https://graph.microsoft.com/v1.0/me).
Если у вас есть разрешение от бывшего администратора клиента клиента на доступ к их каталогу, вы можете проверить, указан ли пользователь в списке, используя Microsoft Graph API
Похожие вопросы
Новые вопросы
azure
Microsoft Azure - это платформа для облачных вычислений «Платформа как услуга» и «Инфраструктура как услуга». Используйте этот тег для вопросов по программированию, касающихся Azure. Общая справка по серверу может быть получена в разделе «Суперпользователь» или «Ошибка сервера».