Мы разрабатываем мультитенантную интеграцию SSO с Office 365 с использованием новой реализации OpenID.
Как только токен доступа будет получен, мы вызываем https://graph.windows.net/me?api-version=1.21-preview
, чтобы получить информацию о профиле пользователя, которая дает что-то вроде приведенного ниже — отлично.
{
"odata.metadata": "https:\/\/graph.windows.net\/myorganization\/$metadata#directoryObjects\/Microsoft.WindowsAzure.ActiveDirectory.User\/@Element",
"odata.type": "Microsoft.WindowsAzure.ActiveDirectory.User",
"objectType": "User",
"objectId": "GUID",
"accountEnabled": true,
"assignedLicenses": [
],
"assignedPlans": [
],
"city": null,
"country": null,
"department": null,
"dirSyncEnabled": null,
"displayName": "Tester A",
"facsimileTelephoneNumber": null,
"givenName": "Test",
"immutableId": null,
"jobTitle": null,
"lastDirSyncTime": null,
"mail": null,
"mailNickname": "tester-a",
"mobile": null,
"otherMails": [
],
"passwordPolicies": "None",
"passwordProfile": null,
"physicalDeliveryOfficeName": null,
"postalCode": null,
"preferredLanguage": null,
"provisionedPlans": [
],
"provisioningErrors": [
],
"proxyAddresses": [
],
"state": null,
"streetAddress": null,
"surname": "A",
"telephoneNumber": null,
"usageLocation": null,
"userPrincipalName": "[email protected]",
"userType": "Member"
}
Однако, похоже, он не возвращает никакого идентификатора или конкретного домена для организации, кроме домена, содержащегося в поле userPrincipalName
. Есть ли лучший способ идентифицировать организацию (учитывая, что организация может обновить test.onmicrosoft.com
до личного домена test.microsoft.com
)?