Аутентификация на бизнес-портале Apple - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь пройти аутентификацию в Apple Business Manager, но, похоже, я не могу пройти последний шаг.

  1. Получение заголовков сеансов от https://idmsa.apple.com/appleauth/auth/signin
  2. Поскольку это два фактора, я задаю, какой телефон должен получить СМС через https://idmsa.apple.com/appleauth/auth/verify/phone
  3. Я получаю СМС и отправляю код через https://idmsa.apple.com/appleauth/auth/verify/trusteddevice/securitycode

После этого я аутентифицируюсь в своем Apple ID, но все еще не аутентифицируюсь в ABM. Когда я смотрю, что происходит с включенным режимом разработчика в моем браузере, я вижу, что запрос на проверку отправляется на https://ws.business.apple.com/session/validate при входе на портал ABM.

Я не могу для Жизнь меня понять, как это сделать. Кто-нибудь имеет опыт работы с этим?

Код:

$uri = "https://idmsa.apple.com/appleauth/auth/signin"
$headers = @{'X-Apple-Widget-Key' = 'key'; 'X-Requested-With' = 'XMLHttpRequest'; 'Content-Type' = 'application/json' }

$authBody = @{

    accountName = "email"
    password    = "pw"
    rememberMe  = $false

}

$request = $authbody | ConvertTo-Json

$query = Invoke-WebRequest -Method Post -Uri $uri -Headers $headers -Body $request -SessionVariable websession 
$cookies = $websession.Cookies.GetCookies($uri)

$phoneBody = @{
    mode        = "sms"
    phoneNumber = @{id = 1 }
}

$reqestObject = $phoneBody | ConvertTo-Json

$headers2 = @{'Content-Type' = 'application/json'; 'X-Apple-ID-Session-Id' = $query.Headers.'X-Apple-ID-Session-Id'; 'scnt' = $query.Headers.scnt; 'X-Apple-Widget-Key' = 'key' }
$phone = "https://idmsa.apple.com/appleauth/auth/verify/phone"

$phonequery = Invoke-WebRequest -Method Put -Uri $phone -Headers $headers2 -Body $reqestObject

$codeURI = "https://idmsa.apple.com/appleauth/auth/verify/trusteddevice/securitycode"

$code = Read-Host

$codeBody = @{
    securityCode = @{code = $code }
}

$reqestObject = $codeBody | ConvertTo-Json

$codequery = Invoke-WebRequest -Method Put -Uri $codeURI -Headers $headers2 -Body $reqestObject
...