Azure AD не предоставляет offline_access - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь зарегистрировать пользователей в своем приложении с помощью Azure AD, но не могу получить разрешение offline_access (scope) на моем сервере.

Мой начальный запрос:

https://login.microsoftonline.com/{tenant}/oauth2/authorize?client_id={client_id}&response_type=code&redirect_uri=https%3A%2F%2Fservice%2Emyserver%2Ecz&scope=user.read%20openid%20profile%20offline_access&response_mode=form_post&state=azure_login

Как видите, я прошу user.read, openid, profile и offline_access.Но когда я получаю токен, я получаю ответ:

{
    "token_type": "Bearer",
    "scope": "profile openid email User.Read",
    "expires_in": 3599,
    "ext_expires_in": 3599,
    "access_token": "ey...",
    "id_token": "ey..."
}

Во-первых, я не просил электронную почту, а во-вторых, нет refresh_token и expires_on.

Самое интересное, если я запускаю приложение локально на моем компьютере (redirect_uri - http://localhost:8080), я получаю совершенно другой ответ:

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "3599",
    "expires_on": "1568980038",
    "access_token": "AQ...",
    "refresh_token": "AQ...",
    "id_token": "ey..."
}

Локально у меня есть разрешение offline_access, с другой стороны, я не получаюУ меня нет других разрешений. Например, я не могу получить доступ к https://graph.microsoft.com/v1.0/me из http://localhost:8080.

Что мне нужно сделать, чтобы получить разрешение offline_access на моем сервере?

1 Ответ

0 голосов
/ 20 сентября 2019

Хорошо, я наконец нашел это.Вся проблема была вызвана сочетанием API.Есть следующие ссылки:

https://login.microsoftonline.com/{tenant}/oauth2/authorize
https://login.microsoftonline.com/{tenant}/oauth2/token
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token

И я упустил из виду v2.0 и смешал их вместе.

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