Azure REST api AuthenticationFailedInvalidHeader

Я вызываю REST API Azure, чтобы получить «список всех доступных размеров виртуальных машин в регионе» от SOAPUI, но это дает мне ошибку в ответ..
{«ошибка»: {
«code»: «AuthenticationFailedInvalidHeader»,
«сообщение»: «Ошибка аутентификации. Заголовок «Authorization» предоставляется в недопустимом формате.»
}}
Я также установил заголовок авторизации..

1 ответ

  1. Api нуждается в аутентификации, поэтому необходимо настроить SoapUI с аутентификацией сертификата клиента. Ваш api не имеет проблем. Я успешно тестирую api с помощью powershell.

        Add-Type -Path 'C:\Program Files\Microsoft Azure Active Directory Connect\Microsoft.IdentityModel.Clients.ActiveDirectory.dll'
    $context = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext ("https://login.windows.net/tenantid/")
    
    $cred = New-Object Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential ("clintid", "key")
    $result = $context.AcquireToken("https://management.core.windows.net/", $cred)
    
    $token = $result.AccessToken
    
    $authHeader = "Bearer $token"
    #$authHeader
    
    $headers = @{"Authorization"=$authHeader; "Content-Type"="application/json"}
    $size=Invoke-RestMethod -Method get -Uri "https://management.azure.com/subscriptions/subscriptionsid/providers/Microsoft.Compute/locations/location/vmSizes?api-version=2015-05-01-preview" -Headers $headers 
    $size.value