Получение токенов обновления от Google с помощью OAuth.io JS SDK (клиентская сторона)
Я пытаюсь получить токен доступа и обновить токен, используя OAuth.io для поставщика Google. Я выбрал офлайн для access_type в OAuth.io.
Ниже приведен код
OAuth.popup("google", {'authorize' : { "approval_prompt" : 'force'}})
.done(function(result) {
console.log(result);
})
.fail(function (err) {
//handle error with err
console.log(err);
});
Я не получаю refresh_token в ответе. Я получаю только access_token от ответа.
Ответ JSON для токена доступа:
{
"status": "success",
"data": {
"access_token": "ya29.pAGQWe3yxxxxxx",
"token_type": "Bearer",
"expires_in": 3600,
"request": {
"url": "https://www.googleapis.com",
"headers": {
"Authorization": "Bearer {{token}}"
}
},
"id_token": "eyJhbGciOiJSUzIxxxxxxxx"
},
"state": "Q9nfocQXJxxxx",
"provider": "google"
}
Ссылка
Я нашел эту ссылку SOA Получение токенов обновления от Google с помощью OAuth.io
Здесь они объяснили, как получить токен обновления на стороне сервера.
Я хочу получить токен обновления на стороне клиента JS.
Ответы
Ответ 1
Перейдите на страницу общих настроек приложения OAuth.io, выберите Показать дополнительные параметры, а затем выберите Отправить токен обновления на интерфейс.
В интегрированных API выберите access_type как офлайн. Это отправит токен обновления на передний конец, используя следующий код
var oauthOptions = { 'authorize' : { "approval_prompt" : "force" } };
OAuth.popup("google", oauthOptions)
.done(function(result) {
console.log("Post postProcessing");
console.log(result);
})
.fail(function (err) {
console.log(err);
});
![введите описание изображения здесь]()
Ответ 2
Попробуйте изменить первую строку на:
OAuth.popup("google", {
'authorize' : {
"approval_prompt" : "force",
"access_type" : "offline"}})
Документы Google описывают, как работают токены токена обновления.
Ответ 3
- Зайдите в настройки безопасности учетной записи и нажмите "Изменить"
- https://www.google.com/settings/u/1/security.
- рядом с "Авторизация приложений и сайтов". Затем нажмите "Отменить"
- Доступ "рядом с вашим приложением. Следующий запрос OAuth2, который вы сделаете, будет
- вернуть refresh_token.
Вы также можете играть с Open Oauth Здесь