Правильные конечные точки для запроса основной информации об учетных записях Microsoft - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь внедрить очень простую кнопку «Войти через Microsoft» для моего сайта.У меня уже есть правильно работающая кнопка Google, и я хочу имитировать это поведение.Проще говоря, пользователь должен войти в Microsoft (используя управляемую учетную запись Microsoft, которая выпускается школами с Office 365), а затем предоставить моему приложению адрес электронной почты и имя.

Однако яизо всех сил пытаюсь найти правильную конечную точку для возврата основной информации о пользователе после входа в систему.

Я успешно запросил коды авторизации у https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=... и вернул их в мое приложение.Я также смог успешно использовать https://apis.live.net/v5.0/me?access_token=... для возврата желаемых данных.Однако это работает только для личных учетных записей Live, а не для профессиональных учетных записей Office 365.

В принципе, кто-нибудь знает правильную конечную точку, на которую я могу отправить код авторизации, который вернет адрес электронной почты и имя, присвоенное Office365 аккаунт?Я попытался https://login.windows.net/common/openid/userinfo, используя приведенный ниже запрос скручивания, но получил только 1 в ответ.

$url = "https://login.windows.net/common/openid/userinfo" ;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Authorisation: Bearer $access_token"));
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: application/json"));

1 Ответ

2 голосов
/ 06 июля 2019

Вы можете получить информацию о пользователе в следующей конечной точке:

Список пользователей:

Для получения списка пользователей действительная конечная точка:

https://graph.microsoft.com/v1.0/users

Индивидуальный пользователь:

Для получения индивидуального пользователя действительная конечная точка:

https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}

Вход пользователя:

Для входа в систему пользователь должен указать конечную точку:

 https://graph.microsoft.com/v1.0/me

Требуется разрешение:

Для выполнения этого запроса вам необходимо следующее разрешение на портале Azure

enter image description here

Дополнительная справка:

Для получения более подробной информации вы можете обратиться к документам ниже

  1. Пример кода Php

  2. Конечная точка Azure Active Directory V2.0

...