Итак, в Azure есть несколько API, которые отлично работают, когда я использую свой авторизованный токен доступа. Но они просто не будут работать с токеном только для приложения, выданным моему приложению.
Во время подключения нашего мультитенантного приложения Azure администратор соглашается / утверждает доступ к своему арендатору, который запрашивает набор разрешений, в том числе:
- Чтение данных каталога
- Доступ к каталогу как вошедшему в систему пользователю.
Для всего до сих пор этого было достаточно. Когда наша функция Azure должна действовать от имени администратора, мы можем вызвать AcquireTokenAsync (), чтобы получить токен только для приложения и использовать его для запроса необходимых нам ресурсов.
Тем не менее, мы столкнулись с некоторыми ресурсами, которые дают нам 400 ошибок, говорящих "AADSTS50058: A silent sign-in request was sent but no user is signed in."
.
В тех ситуациях, когда ему нужен авторизованный токен пользователя (а мы не можем получить его как бэкэнд-функцию, выполняющую автоматическую обработку в нерабочее время), что мы должны делать? Я не хочу хранить учетные данные пользователя в KeyVault, чтобы выполнить аутентификацию пароля для получения такого токена. Весь смысл использования токенов только для приложений состоял в том, чтобы избежать этого.
Что мы должны делать в этой ситуации?