Мы хотим авторизовать пользователя в группе Azure AD в SPA (React JS); т. е. Пользователь разрешает доступ к API из SPA, если он принадлежит к определенной группе (например, testgroup). Найден пример кода в Msal.JS.
я следую
Вызовите MS Graph, чтобы получить все группы объявлений, к которым принадлежит пользователь.
URL-адрес для получения групп объявлений — https://graph.microsoft.com/v1.0/me/memberOf
Пожалуйста, подскажите, иду ли я в правильном направлении или есть какие-то другие варианты.
Спасибо за ваше предложение.
С уважением,
Деб
Спасибо, Рохит. Да, наш SPA будет работать в клиентском браузере. На данный момент мы не реализовали авторизацию пользователей в API, сделаем. Но теперь мы хотим авторизовать пользователя в группе Azure AD в SPA. Не могли бы вы предоставить мне какой-либо образец группового заявления на SPA (React JS).
Да, вам действительно нужно проверить их в API. Проверка их в пользовательском интерфейсе является своего рода удобством для пользователей, поэтому они не видят параметры, которые они все равно не могут использовать. Если вы не проверите их в API, у вас будет серьезная уязвимость в системе безопасности.
Спасибо @Juunas. Для нашего требования мы проверим (принадлежит ли пользователь к группе AD) пользователя при входе в систему в SPA, после входа в систему Пользователь будет взаимодействовать с API из SPA.





Вместо использования msal.js я использовал реагировать-аад-msal. Это библиотека-оболочка мсал, и она стала намного более гладкой.
Я бы попробовал это
https://ahsanshares.wordpress.com/2019/10/19/реагировать-приложение-потребление-микрософт-граф/
Если ваш SPA работает в клиентском браузере, то проверьте авторизацию на основе членства пользователя в одной или нескольких группах, на мой взгляд, действительно должно быть в API. Вы все равно можете контролировать, что показывать/скрывать из SPA, но фактическая авторизация осуществляется в API имеет смысл. Также рассмотрите возможность использования ролей приложений, поддерживаемых приложениями Azure AD, поскольку они предназначены для аналогичной цели. Я видел приложения, использующие групповые утверждения, роли приложений или даже их комбинацию для принятия решений об авторизации.