Рабочая и учебная учетная запись считается корпоративной учетной записью, хранящейся где-то в вашей локальной или облачной службе идентификации Microsoft (Azure Active Directory). В то время как учетная запись Microsoft (также называемая MSA в контексте) ранее называлась Windows Live ID. Теперь Microsoft объединяет несколько вещей в централизованную систему, включая Outlook.com, XboxLive, Skype, Hotmail и так далее.
Но учтите, что учетная запись Microsoft - это не только Live.com. Его можно даже создать под Рабочей учетной записью (см. Изображение ниже, я замаскировал псевдоним, но они такие же). В этом реальном случае рабочая учетная запись управляется Office 365, а личная учетная запись создается под основным именем пользователя.
Разница в том, что если вы выбрали личную учетную запись (будь то Live или даже то же основное имя пользователя, что и ваша корпоративная учетная запись), вы будете перенаправлены на http://login.live.com / , а URL-адрес для входа в рабочую учетную запись -
На портале Azure AD вы можете только увидеть, какой из них является гостем или участником, но гость не означает, является ли это учетной записью Microsoft или рабочей.
Идентификационные данные пользователей в Azure AD хранят источник.
В Azure AD на портале Azure щелкните Пользователи и группы> Все пользователи>. Щелкните одного пользователя, затем щелкните Профиль. Затем в разделе «Информация об удостоверении» отображается источник идентификатора.
На самом деле, если вы пригласили гостя в свой каталог, вы использовали совместную работу Azure AD B2B.
Легко узнать, какую конечную точку использует учетная запись для аутентификации:
Если гостевой пользователь является личной учетной записью, это означает, что учетная запись не была создана в другом Azure Active Directory и ее учетная запись электронной почты не заканчиваются на .onmicosoft.com
. Он должен быть аутентифицирован с помощью Live.com
, также называемого учетной записью Microsoft (личная учетная запись).
Если гостевой пользователь уже существует в другом клиенте, это также означает, что его адрес электронной почты заканчивается на .onmicrosoft.com
, он аутентифицирован с помощью .microsoftonline.com
, также называемый учетной записью организации (рабочая или учебная учетная запись).
Вы можете получить эту информацию с помощью Powershell, модуля AzureRm и некоторого скрытого API, документацию по которому я нигде не нашел:
Add-AzureRmAccount
$currentAzureContext = Get-AzureRmContext
$tokenCache = $currentAzureContext.TokenCache
$refreshToken = $tokenCache.ReadItems().RefreshToken
$tenantid = $currentAzureContext.Tenant.Id
$body = "grant_type=refresh_token&refresh_token=$($refreshToken)&resource=74658136-14ec-4630-ad9b-26e160ff0fc6"
$tokresponse = Invoke-RestMethod "https://login.windows.net/$tenantid/oauth2/token" -Method POST -Body $body -ContentType 'application/x-www-form-urlencoded'
$headers = @{"Authorization" = "Bearer $($tokresponse.access_token)"}
$objid = "<UserAccountObjId>"
$response = Invoke-RestMethod "https://main.iam.ad.ext.azure.com/api/UserDetails/$objid" -Headers $headers -Method GET