Недавно я запросил новые разрешения для приложения в своем многопользовательском приложении Azure AD, чтобы я мог получить доступ к API Graph.Я использую adal.js
для аутентификации пользователей в веб-приложении, в то время как фактические запросы к Graph отправляются на сервер узла с использованием adal-node
и сертификата.
Новые разрешения работают.Я могу получить доступ к Graph с помощью разрешений приложений, и у меня не было проблем с сервером узлов.
Проблема в том, что теперь, когда администраторы входят в веб-приложение (используя `adal.js), они представляютсяс экраном согласия, независимо от того, сколько раз они соглашаются.Пользователям, не являющимся администраторами, при каждом входе в систему предоставляется экран «Требуется подтверждение администратора», что лишает их возможности войти в систему вообще.
Я пробовал это на разных арендаторах с одинаковыми результатами.Я также попытался утвердить разрешения с помощью azure.portal.com
и полностью удалить приложение из аренды и подтвердить их снова.
Я также попытался отобрать новые разрешения и вернуться к старым разрешениям.Несмотря ни на что, пользователи переходят на экран «Требуется утверждение администратора».
Код входа пользователя
public login(): void {
this.adalContext.login();
}
Код входа администратора
public adminLogin(): void {
this.adalContext.config.displayCall = (urlNavigate) => {
let url = urlNavigate + "&prompt=admin_consent";
this.adalContext.promptUser(url);
};
this.adalContext.login();
}
Чтобы было понятно, этоприложение работало нормально за месяц .Только после того, как я изменил разрешения, это начало происходить.