Я проверяю OAuth2, есть одна вещь в On-Behalf-Flow, которую я не понимаю.Поток выглядит следующим образом: У нас есть:
- App1 (веб-интерфейс)
- App2 (веб-API)
- App3 (ресурс данных (другой веб-API))
Допустим, они настроены так:
- App1 - не предоставляет никаких API;требуется разрешение на использование «App2Permission»
- App2 - предоставляет «App2Permission»;требуется разрешение на использование «App3Permission»
- App3 - выставляет «App3Permisson»;не нужны никакие разрешения
Теперь, когда пользователь заходит в App1, он перенаправляет его на страницу входа в AAD - пользователь принимает «App2Permisions», которое требуется для App1.После этого App1 получает токен доступа для App2.App1 отправляет запрос в App2 (включая токен доступа, который я только что упомянул).App2 получает этот запрос и должен получить доступ к App3, чтобы получить фактические данные.Тем не менее, он требует "App3Permission" - как это получить?App2 не является интерактивным приложением, которое может показать пользователю экран входа в систему.