Impossibile ottenere il token di aggiornamento di https://management.azure.com/ utilizzando PowerShell
Sto cercando di ottenere il token di accesso e il token di aggiornamento per la risorsa "https://management.azure.com/" utilizzando PowerShell, ma ottengo un unico token di accesso. Ho bisogno anche di un token di aggiornamento. Condivido il mio codice come di seguito.
$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
------------produzione---------------
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...

Risposte
La specifica afferma che il tipo di concessione delle credenziali client NON DEVE consentire l'emissione di token di aggiornamento. Quindi la risposta è che devi usare un tipo di concessione diverso per ricevere un token di aggiornamento con il tuo token di accesso.
Pertanto, si consiglia di utilizzare il flusso del codice di autenticazione , che restituirà il token di aggiornamento quando si richiede il token.

Aggiornare:
