Я использую Azure Active Directory и ADAL для взаимодействия с Exchange EWS Office 365 с OAuth.
Я знаю, что вы можете использовать authContext.AcquireToken()
, и он сделает все за вас. Он будет сохранять, использовать и обновлять токены для вас, а также запрашивать учетные данные пользователя, когда это необходимо. В моем случае проблема заключается в том, что мне нужно взаимодействие в фоновом веб-задании Azure, поэтому он не сможет запрашивать учетные данные пользователя.
Я пытался получить код авторизации, заставляющий пользователя переходить по URL-адресу из GetAuthorizationRequestURL()
. Затем получение токена с использованием AcquireTokenByAuthorizationCode()
и сохранение токена обновления в базе данных. Поэтому, когда фоновое задание должно подключиться к EWS, оно может использовать токен обновления (сохраненный в базе данных) с помощью AcquireTokenByRefreshToken()
.
Этот подход работает, но я не знаю, как получить новый токен обновления, если срок его действия истекает через 14 дней.
Есть идеи, как обновить токен обновления или как лучше использовать ADAL в фоновом задании?
Спасибо и привет !!