Не удалось получить токен обновления https://management.azure.com/ с помощью PowerShell
Aug 21 2020
Я пытаюсь получить токен доступа и обновить токен для ресурса «https://management.azure.com/» с помощью PowerShell, но получаю единственный токен доступа. Мне также нужен токен обновления. Я делюсь своим кодом, как показано ниже.
$clientID = '1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' $secretKey = 'kdfudifkldfliKASDFKkdfjd-ddkjfidysikd'
$tenantID = 'fxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' $password = ConvertTo-SecureString -String $secretKey -AsPlainText -Force $credential = New-Object System.Management.Automation.PSCredential($ClientID,$password)
Connect-AzureRmAccount -ServicePrincipal -Credential $credential -Tenant $tenantID
$authUrl = "https://login.windows.net/" + $tenantID + "/oauth2/token/"
$body = @{ "resource" = "https://management.azure.com/"; "grant_type" = "client_credentials"; "client_id" = $ClientID
"client_secret" = $secretKey } Write-Output "Getting Authentication-Token ..." $adlsToken = Invoke-RestMethod -Uri $authUrl –Method POST -Body $body
Write-Output $adlsToken
------------вывод---------------
Getting Authentication-Token ...
token_type : Bearer
expires_in : 3599
ext_expires_in : 3599
expires_on : 1597999269
not_before : 1597995369
resource : https://management.azure.com/
access_token : J0uYFoioURT4CdISuUrRrr...
Ответы
CarlZhao Aug 21 2020 at 11:04
В спецификации указано, что тип предоставления учетных данных клиента НЕ ДОЛЖЕН допускать выдачу токенов обновления. Итак, ответ таков: вы должны использовать другой тип предоставления, чтобы получить токен обновления с вашим токеном доступа.
Поэтому рекомендуется использовать поток кода аутентификации , который вернет вам токен обновления , когда вы запросите токен.
Обновить: