[英]Invoke-RestMethod :unauthorized client for getting Authentication-token
我在 azure 活動目錄中創建了應用程序注冊。 我正在嘗試調用使用以下 PowerShell 腳本進行身份驗證的 azure 廣告,但它始終顯示錯誤:
$clientID = '<clientID>'
$secretKey = '<key>'
$tenantID = '<TenantID>'
$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.microsoftonline.com/" + $tenantID + "/oauth2/v2.0/token/"
$body = @{
"scope" = "api://a193b314b-7854-9aab-bb78-6a50ffxxxxxx/";
"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
我收到此錯誤。 請讓我明白為什么我會收到這個錯誤
Invoke-RestMethod: {"error":"invalid_scope","error_description":"AADSTS1002012: scope api://3e3643c5-90af-ece 的提供值無效。客戶端憑證流必須具有 scope 值和 /.default后綴到資源標識符(應用程序 ID URI)。\r\n跟蹤 ID:2d4f23bf-b317-4d5c-b5xxxxx\r\n關聯 ID:fe5945b4-b2c2-4814-9xxxxxxx\r\n時間戳:04:26:09Z"," error_codes":[1002012],"timestamp":"2022-11-19 04:26:09Z","trace_id":"2d4f23bfb3174d5cb5a7xxxxxxx","correlation_id":"fe5945b4-b2c2-4814-99xxxxxxxx"}
Connect-AzAccount:ClientSecretCredential 身份驗證失敗:AADSTS700016:在目錄“默認”中找不到標識符為“3e3643c5-90af-4af6-afxxxxxxx”的應用程序
我試圖在我的環境中重現相同的內容,我得到了如下相同的錯誤:
要解決此問題,請檢查您是否提供了正確的 ClientID,如下所示:
並且,在 scope 錯誤中提到您錯過了/.default
確保包含/.default
如下所示:
"api://xxxxxx/.default";
當我使用默認 scope 運行相同的腳本時,我成功獲得了如下結果:
您可以通過在 scope 中添加.default 來試試這個嗎,
"scope" = "api://a193b314b-7854-9aab-bb78-6a50ffxxxxxx/.default"
如果有效,請參閱參考資料。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.