2015-06-10 2 views
0

В настоящее время я настроил экземпляр AAD, и я аутентифицирую своих пользователей против него через мое веб-приложение, и он отлично работает.Azure Active Directory Login: разрешения для веб-приложений, согласие пользователя не инициировано

Когда я добавил и настроил приложение в AAD, я добавил необходимые приложения и делегированные разрешения для доступа к API-интерфейсу Office365. Тем не менее, единственное, чего не хватает, заключается в том, что во время входа в систему пользователям не предлагается предоставить разрешение на разрешения, как это должно происходить из того, что я читал в ваших документах: https://msdn.microsoft.com/en-us/library/azure/dn132599.aspx#BKMK_Consent

Я не являюсь конечно, что мне не хватает. По-видимому, из документации,

После того, как пользователь вошел в систему, Azure AD определит, будет ли пользователь нужно показать страницу согласия. Это определение основано на , имеет ли пользователь (или администратор своей организации) согласие на получение заявки. Если согласие еще не было , Azure AD предложит пользователю согласие и отобразит необходимые разрешения, необходимые для его функционирования. Набор разрешений , который отображается в диалоговом окне согласия, совпадает с тем, что было , выбранным в разделе «Разрешения для управления другими приложениями» на портале управления Azure .

Так что, возможно, каким-то образом я уже, вероятно, неявно предоставил согласие администратора на эти разрешения, но я не знаю, как это произошло.

Я подключил разрешения, настроенные в приложении AAD.

Permissions-1 Permissions-2 Permissions-3

Любая помощь будет оценена.

ответ

5

Если администратор создает приложение у своего арендатора с помощью порта AUX (manage.windowsazure.com) и запрашивает разрешения для других приложений, пользователи этого же арендатора предварительно соглашаются на это приложение. Обратите внимание, что это поведение НЕ относится к нашим другим порталам регистрации приложений (portal.azure.com или identity.microsoft.com)

Я считаю, что именно поэтому вы не видите диалог согласия, когда пользователь в вашем арендаторе подписывается в вашем заявление. Если вы хотите активировать диалог диалога согласия, вы можете сделать несколько разных действий:

  1. Строки запроса можно использовать для запроса «согласия» или «admin_consent» во время входа в систему.Проверьте здесь: https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx
  2. Вы можете удалить участника услуги для своего приложения от своего арендатора, используя AAD PowerShell. Вы можете узнать, как это сделать здесь: https://msdn.microsoft.com/en-us/library/azure/dn194113.aspx
  3. У вас может быть пользователь от другого арендатора, попробуйте войти в ваше приложение с несколькими арендаторами.
  4. Вы можете создать свое приложение под учетной записью non-admin.

Надеюсь, это поможет!

Shawn Tabrizi

1

Попробуйте это:

What is the Resource parameter in Windows Azure AD tenant application oAuth 2.0 specification

Изменение параметра ресурса https://graph.windows.net сделал трюк для меня.

Кроме того, поддержка Microsoft предлагает отключить все разрешения, кроме «Включить вход и чтение профилей пользователей», по-видимому, чтобы избежать проблем, связанных с разрешением. Я понимаю, что это не решение в вашем случае, но по крайней мере это дает вам тестовый пример.

Смежные вопросы