Почему Google Auth перенаправляется после того, как пользователь впервые разрешил приложению не давать refresh_token? - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь получить от Google refresh_token, который можно использовать для обновления токена access_token после истечения срока его действия.

Насколько я понимаю, я считаю, что Google предоставляет токен обновления в перенаправлении после того, как пользователь впервые разрешил приложению получать данные.

Google перенаправляет моего пользователя на мой сайт по адресу: Веб-страница /? код = Foo & сфера = бар

Однако я не получаю этот токен обновления. Я получаю кодовое значение, которое я использую для успешного получения моего первого токена доступа. Является ли это значение кода на самом деле искомым токеном, который я ищу?

Не думаю, что это так, потому что я попытался отправить запрос POST на сервер авторизации Google / o / oauth2 / token, указав в сообщении, что я хочу обновить_каталог, и предоставив им этот код, но они отправили обратно неверный ответ. Я пробовал это до истечения срока действия моего оригинального access_token, так что это может быть проблемой.

Вот мой запрос в Google (я отредактировал некоторые данные)

https://accounts.google.com/o/oauth2/token?code=XXXXXX&client_id=XXXXXXXXXXXXX&client_secret=XXXXXXXXX&redirect_uri=XXXXXXXX&grant_type=authorization_code&access_type=offline

Вот ответ, который я получаю

{
    "access_token": "ya29.GlsFB8Pro9_Annam0VtpE4dm3Z0xjE6vulopi-LHgDnZKcGcGnwFA6Z7CpBbt1rTNYGxmp9oQ3uz6808EyTZKIdYqo6AuMWyU2karSdn0Z3hcT8who3RajB9djlu",
    "expires_in": 3600,
    "scope": "https://www.googleapis.com/auth/youtube.readonly",
    "token_type": "Bearer"
}

Я первым делом отправляю этот запрос в Google после прохождения пользователем процесса перенаправления аутентификации. Все ресурсы, которые я прочитал, говорят, что я должен получить refresh_token, но я не получаю.

Примечание. Я проверял этот запрос в PostMan

...