Обновите 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. Это описано далее здесь:

MSAL Wiki: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/AcquireTokenSilentAsync-using-a-cached-token

ADAL Wiki: https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/wiki/AcquireTokenSilentAsync-using-a-cached-token

Другие вопросы по тегам