Как получить токен user_impersonation из токена только для приложения? - PullRequest
0 голосов
/ 13 ноября 2018

Итак, в Azure есть несколько API, которые отлично работают, когда я использую свой авторизованный токен доступа. Но они просто не будут работать с токеном только для приложения, выданным моему приложению.

Во время подключения нашего мультитенантного приложения Azure администратор соглашается / утверждает доступ к своему арендатору, который запрашивает набор разрешений, в том числе:

  • Чтение данных каталога
  • Доступ к каталогу как вошедшему в систему пользователю.

Для всего до сих пор этого было достаточно. Когда наша функция Azure должна действовать от имени администратора, мы можем вызвать AcquireTokenAsync (), чтобы получить токен только для приложения и использовать его для запроса необходимых нам ресурсов.

Тем не менее, мы столкнулись с некоторыми ресурсами, которые дают нам 400 ошибок, говорящих "AADSTS50058: A silent sign-in request was sent but no user is signed in.".

В тех ситуациях, когда ему нужен авторизованный токен пользователя (а мы не можем получить его как бэкэнд-функцию, выполняющую автоматическую обработку в нерабочее время), что мы должны делать? Я не хочу хранить учетные данные пользователя в KeyVault, чтобы выполнить аутентификацию пароля для получения такого токена. Весь смысл использования токенов только для приложений состоял в том, чтобы избежать этого.

Что мы должны делать в этой ситуации?

...