Подтвердить что ты не робот

Разрешения приложений приложения Azure AD для делегированных разрешений

Я создаю приложение Azure AD и заметил, что существуют два типа разрешений, разрешения приложений и делегированные разрешения. В чем разница между ними и по какому сценарию я должен их использовать?

4b9b3361

Ответ 1

Обычно вы используете делегированные разрешения, если хотите вызывать веб-API как зарегистрированный пользователь. Скажем, например, что веб-API должен фильтровать данные, которые он возвращает, на основе того, кто является пользователем, или выполнить какое-либо действие в качестве зарегистрированного пользователя. Или даже просто зарегистрировать, какой пользователь инициировал вызов.

Разрешения приложения используются, когда приложение вызывает API как сам. Например, чтобы получить прогноз погоды для определенного zipcode (неважно, какой пользователь входит в систему). Клиент может даже вызывать API, когда нет присутствия пользователя (некоторая фоновая служба, вызывающая API для обновления некоторого статуса).

Ответ 2

Из документации здесь: https://msdn.microsoft.com/en-us/library/azure/dn132599.aspx https://azure.microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/#updating-an-application ( см. раздел Accessing Web API in Other Application):

  • Разрешения на доступ к приложениям. Вашему приложению необходимо напрямую обращаться к веб-API как к самому себе (без контекста пользователя). Этот тип разрешения требует согласия администратора и также недоступна для клиентских приложений.
  • Разрешения делегирования. Вашему приложению необходимо получить доступ к веб-API в качестве пользователя, входящего в систему, но с ограниченным доступом к выбранному разрешение. Этот тип разрешения может быть предоставлен пользователем, если только разрешение настраивается как требующее согласия администратора.

Исходя из этого, если ваше приложение требует олицетворения пользователя, вам нужно будет использовать разрешения делегирования.