Обновите Accesstoken, используя общеизвестный идентификатор клиента
Я создаю accesstoken с помощью команды ниже:
Get-ADALAccessToken -AuthorityName exterrobiz.onmicrosoft.com -ClientId a0c73c16-a7e3-4564-9a95-2bdf47383716 -ResourceId https://ps.compliance.protection.outlook.com/PowerShell-LiveId -RedirectUri "urn:ietf:wg:oauth:2.0:oob" -ForcePromptSignIn
Это обеспечит токен доступа. Используя этот токен, я могу выполнять операции безопасности и соответствия.
Полученный токен действителен в течение 1 часа, и я хочу автоматически обновить токен доступа без вмешательства пользователя. У меня есть обновленный токен и токен идентификатора, полученный в результате, приведенном выше (возможность чтения из кэша). Как я могу получить новый токен доступа с доступным токеном обновления?
Я использую известный идентификатор клиента (a0c73c16-a7e3-4564-9a95-2bdf47383716), предоставленный Microsoft, и нет секретного ключа для попадания в конечную точку для обновления маркера доступа.
Я не могу получить решение для достижения этой цели.
0 ответов
Процесс обновления описан в документации Microsoft здесь:
Для конечной точки V1: https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code
Для конечной точки V2: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
И эта ссылка ведет к объяснению разницы между ними: https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison
Похоже, библиотека, которую вы используете для своего командлета PowerShell, находится здесь: https://www.powershellgallery.com/packages/Microsoft.ADAL.PowerShell/1.12
Во-первых, это устаревшая библиотека (ADAL), и не похоже, что это даже официальная библиотека PowerShell.
В настоящее время нет официальных документов по использованию библиотек adal / msal для выполнения вызовов в среде PowerShell для получения токенов доступа / токенов ID / токенов обновления.
Если вас это интересует, я предлагаю подать это как отзыв на голосование пользователя обратной связи по Azure AD, и при наличии достаточной поддержки сообщества группа разработчиков продуктов Microsoft рассмотрит возможность реализации этого: https://feedback.azure.com/forums/169401-azure-active-directory
Для текущего исправления я предлагаю взглянуть на репозитории Shawntabrizi MSAL/ADAL git. Репозиторий MSAL можно найти здесь:
MSAL: https://github.com/shawntabrizi/Microsoft-Authentication-with-PowerShell-and-MSAL
АДАЛ: https://github.com/shawntabrizi/Azure-AD-Authentication-with-PowerShell-and-ADAL
Если вы ищете командлет PowerShell, в частности, для обновления токена доступа, это будет вызов Acquiretokensilentasync из библиотеки MSAL. Это описано далее здесь: