MS Graph: как определить тип учетной записи вошедшего в систему пользователя?

Вопрос. Есть ли способ узнать, является ли данный адрес электронной почты рабочей или учебной учетной записью в отношении Microsoft graph API?

Я хочу пройти аутентификацию как с учетными записями Microsoft, так и с учетными записями Work or School в многопользовательской среде Azure.


person nam    schedule 19.11.2020    source источник


Ответы (1)


Вообще говоря, нет прямой конечной точки для запроса, является ли эта учетная запись рабочей учетной записью или MSA.

Судя по вашему описанию, вы используете полномочия common для аутентификации пользователя.

Когда вы введете свое имя пользователя и пароль, адрес в адресной строке будет таким:

https://login.microsoftonline.com/common/****** для рабочего аккаунта

И

https://account.live.com/Consent/****** для учетных записей Майкрософт.

Если вы вызовете https://graph.microsoft.com/v1.0/me, вы обнаружите, что идентификатор рабочей учетной записи похож на этот "id": "987932c9-f062-48e2-8ced-22cb6896dfce", а идентификатор учетной записи Microsoft похож на "id": "5d9ee9b4b2ad3bfe".

person Allen Wu    schedule 19.11.2020
comment
Я не понял часть URL вашего предложения, потому что в Graph Explorer я не видел URL в адресной строке. Но ваше предложение для вызова https://graph.microsoft.com/v1.0/me и использования форматов идентификаторов для рабочей учетной записи и учетной записи Microsoft решило мою проблему (спасибо). У меня нет школьной учетной записи, поэтому я не знаю, как это будет работать. - person nam; 20.11.2020
comment
@nam Если вы используете Graph Explorer, часть URL-адреса можно игнорировать, поскольку она видна только при интеграции входа AAD в ваше приложение. Учебная учетная запись аналогична рабочей учетной записи. - person Allen Wu; 20.11.2020