Получение токенов обновления от 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 Здесь