Как предоставить разрешения с помощью Azure Active Directory PowerShell V2
Я написал сценарий создания своего приложения Azure Active Directory с помощью Azure Active Directory PowerShell V2 и пытаюсь использовать делегированные разрешения в моем одностраничном приложении (SPA) с использованием неявного потока для вызова API с определенными ролями приложения.
Какую команду PowerShell мне нужно использовать для репликации кнопки "Предоставить разрешения" на портале Azure в разделе "Настройки приложений":
Согласно Документам:
Предоставление явного согласия с помощью кнопки "Предоставить разрешения" в настоящее время требуется для одностраничных приложений (SPA), использующих ADAL.js, поскольку маркер доступа запрашивается без запроса согласия, который завершится неудачей, если согласие еще не получено.
Кроме того, как вы узнаете, были ли предоставлены разрешения или нет? Кнопка всегда кликабельна? Ужасный UX, если вы спросите меня.
1 ответ
Эта кнопка эффективно делает согласие администратора. Это будет согласие для всех пользователей в арендаторе. В вашем случае вы можете принудительно получить согласие в SPA, а не в PowerShell, если хотите избежать использования портала Azure.
Для этого ваш SPA должен добавить в запрос на аутентификацию либо &prompt=consent
или же &prompt=admin_consent
, Первый должен применяться каждый раз, когда новый пользователь регистрируется в первый раз, тогда как последний вы можете сделать один раз (войти в систему с учетной записью администратора), и это будет согласие для всех пользователей.
Оформление заказа понимание администратора и согласия пользователя.