Получение меня с помощью Azure OAuth 2 Token - PullRequest
0 голосов
/ 11 декабря 2018

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

  1. Если код не в URI, перенаправьте их на: https://login.microsoftonline.com/GUID_HERE/oauth2/v2.0/authorize
  2. Это перенаправит их обратно на URL, но передает код вURI
  3. Страница берет код из URI и отправляет запрос POST по адресу: https://login.microsoftonline.com/GUID_HERE/oauth2/v2.0/token с телом: "grant_type" = "authorization_code" "code" = "INSERT THE CODE" "client_id", "INSERT THE CLIENT_ID" "client_secret", "INSERT THE CLIENT SECRET"
  4. Возвращает действительный токен доступа
  5. Когда я пытаюсь запросить информацию пользователя через: https://graph.windows.net/me?api-version=1.6 с токеном доступа в заголовке авторизации, я получаю сообщение об ошибке, указывающее, что токен истек.

У меня естьпробовал несколько разных конечных точек, но ни одна из них не работает правильно.Любая помощь будет принята с благодарностью.

ОБНОВЛЕНИЕ Вот некоторые сведения о токене. aud: "00000003-0000-0000-c000-000000000000" scp: "openid profile email"

1 Ответ

0 голосов
/ 11 декабря 2018

Вам потребуется область User.Read, а затем вызовите https://graph.microsoft.com/v1.0/me вместо конечной точки API-интерфейса Azure AD Graph.Тем не менее, вы также можете запросить https://graph.windows.net/User.Read в качестве области и вызвать AAD Graph, но этот API устарел, поэтому я бы предпочел использовать текущий API:)

Области, которые у вас есть (openid profile email) влияет только на то, что в токене Id получает ваше приложение AFAIK, и не влияет на вашу способность вызывать API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...