Azure arc 代理错误“缺少基本授权标头”

问题描述 投票:0回答:1

我正在遵循有关安装 Azure Arc Server 代理的 Microsoft 教程,https://learn.microsoft.com/en-us/azure/azure-arc/servers/managed-identity-authentication,安装进行得很顺利,我现在测试获取令牌。使用上面文章提供的代码(我以管理员身份使用 Visual Studio 运行它)。

$apiVersion = "2020-06-01"
$resource = "https://management.azure.com/"
$endpoint = "{0}?resource={1}&api-version={2}" -f $env:IDENTITY_ENDPOINT,$resource,$apiVersion
$secretFile = ""
try
{
    Invoke-WebRequest -Method GET -Uri $endpoint -Headers @{Metadata='True'} -UseBasicParsing
}
catch
{
    $wwwAuthHeader = $_.Exception.Response.Headers["WWW-Authenticate"]
    if ($wwwAuthHeader -match "Basic realm=.+")
    {
        $secretFile = ($wwwAuthHeader -split "Basic realm=")[1]
    }
}
Write-Host "Secret file path: " $secretFile`n
$secret = cat -Raw $secretFile
$response = Invoke-WebRequest -Method GET -Uri $endpoint -Headers @{Metadata='True'; Authorization="Basic $secret"} -UseBasicParsing
if ($response)
{
    $token = (ConvertFrom-Json -InputObject $response.Content).access_token
    Write-Host "Access token: " $token
}

但是我收到错误:

{"error":"unauthorized_client","error_description":"缺少基本授权标头","error_codes":[401],"timestamp":"2023-07-05 10:32:31.7391949 +0200 CEST m=+ 5321.276017201","trace_id":"","correlation_id":"0ec3a4b9-292b-4283-aaee-d76fc1339976"}

我查看了hims日志“C:\ProgramData\AzureConnectedMachineAgent\Log\himds.log” 没有更多信息,我得到了同样的错误,一行写着:

time =“2023-07-05T11:44:59 + 02:00”level = info msg =“缺少基本授权标头”reason = unauthorized_client uuid = a022087f-7bd9-43dd-b88b-9c8f4e1ab168

我尝试使用 Postman,同样的错误。

知道出了什么问题吗?

文森特

我尝试使用邮递员,但遇到了完全相同的问题。

azure oauth-2.0 access-token azure-arc
1个回答
0
投票

您可能正在使用 PowerShell 7 并且 catch 块中的

$_
为空。您可以修改第一次获取以使用
Invoke-RestMethod
以及选项
[-ResponseHeadersVariable <String>]
-SkipHttpErrorCheck
来获取响应标头对象并从对象中解析文件名。

© www.soinside.com 2019 - 2024. All rights reserved.