Azure: как получить токен обновления? использование Curl, когда вывод соединения дает только токен доступа - PullRequest
0 голосов
/ 08 апреля 2019

Мне не удается получить токен обновления с помощью участника службы Azure (с использованием идентификатора клиента и секрета клиента)

Пожалуйста, помогите мне получить токен обновления через CURL и как его использовать.

Когда я запускаю приведенную ниже команду CURL в Windows CMD Prompt, я получаю токен доступа. Принимая во внимание, что я не получаю токен обновления вместе с ним.

я что-то здесь упускаю?

Ввод:

curl -X POST https://login.microsoftonline.com/12345/oauth2/token ^
-F grant_type=client_credentials ^
-F resource=https://management.core.windows.net/ ^
-F client_id=12345-abcde ^
-F client_secret=12345abcde

Выход:

{
    "token_type": "Bearer",
    "expires_in": "3600",
    "ext_expires_in": "3600",
    "expires_on": "1554368330",
    "not_before": "1554364430",
    "resource": "https://management.core.windows.net/",
    "access_token": "XXXXXXXXXXXXX"
}

Поскольку вывод не имеет токена обновления (как его получить)

Просьба о любых возможных идеях

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Вы не получите токены обновления с идентификатором клиента и секретом. Это не имеет смысла. Обновление токенов имеет смысл только тогда, когда участвует пользователь. Так как он позволяет вам получать новые токены, не предлагая пользователю снова войти в систему.

Токен обновления не требуется. Вы можете получить новые токены с идентификатором клиента и секретом, когда захотите.

1 голос
/ 08 апреля 2019

Измените grant_type на 'пароль', добавьте имя пользователя и пароль к запросу.

curl -X POST https://login.microsoftonline.com/12345/oauth2/token ^
-F grant_type=password ^
-F resource=https://management.core.windows.net/ ^
-F client_id=12345-abcde ^
-F client_secret=12345abcde ^
-F username=user@XX.onmicrosoft.com ^
-F password=******

Вы сможете получить функцию refresh_token.

{
"token_type": "Bearer",
"scope": "User.ReadWrite.All",
"expires_in": "3600",
"ext_expires_in": "3600",
"expires_on": "1554711949",
"not_before": "1554708049",
"resource": "https://management.core.windows.net/",
"access_token": "******",
"refresh_token": "******"
}

Вы можете использовать функцию refresh_token для обновления токена доступа .

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