Срок действия токенов обновления Google истекает?

Я использовал токен обновления несколько раз за короткий период времени для тестирования, но мне интересно, истекает ли токен обновления Google? Или я могу вызвать тот же токен обновления, чтобы снова и снова получать токен доступа в течение длительного периода (неделя или даже месяцы)?

Ответ 1

Сервер Google Auth, выдающий токены обновления, никогда не истекает - все это указывает на токены обновления. Ток обновления будет истекать (или, я должен сказать, стать неавторизованным), когда пользователь отменяет доступ к вашему приложению.

Обратитесь к doc, в котором четко указывается функция обновления токенов.

Вместо того, чтобы выдавать долговременный токен (как правило, год или неограниченный срок службы)     сервер может выдать кратковременный токен доступа и долгоживущий токен обновления. Короче говоря, вы можете использовать токены обновления снова и снова, пока пользователь, который разрешил доступ, не отменяет доступ к вашему приложению.

Ответ 2

Это очень запутанная нить. Первый ответ кажется правильным, но на самом деле не цитирует ничего авторитетного из Google.

Самый окончательный ответ, который я нашел, на самом деле находится на игровой площадке разработчика, где вы получаете токен. На шаге 2 внизу внизу написано примечание:

"Примечание. Игровая площадка OAuth не хранит токены обновления, но поскольку токены обновления никогда не истекают, пользователь должен перейти на страницу авторизированного доступа к учетной записи Google, если они хотели бы их вручную аннулировать.

https://developers.google.com/oauthplayground/

Ответ 3

Я не думаю, что это абсолютно верно:

Обратите внимание, что существуют ограничения на количество токенов обновления, которые будут выпущены; один предел для каждой комбинации клиент/пользователь и другой для каждого пользователя. Вы должны сохранять токены обновления в долгосрочном хранилище и продолжать использовать их, пока они остаются в силе. Если ваше приложение запрашивает слишком много токенов обновления, оно может работать в этих пределах, и в этом случае старые токены обновления перестанут работать.

с этой страницы: https://developers.google.com/youtube/v3/guides/authentication#installed-apps

Это из документов youTube (которые я считаю намного лучше, чем другие api docs), но я думаю, что они одинаковы во всех приложениях google.

Ответ 4

см. это:

Обновить токены действительны до тех пор, пока пользователь не аннулирует доступ. Это поле присутствует только в том случае, если access_type = offline включен в запрос кода авторизации.

в https://developers.google.com/accounts/docs/OAuth2WebServer

Ответ 5

Правила изменились на этот раз в 2017 году, поэтому лучший ответ, на мой взгляд, заключается в том, что он зависит от продукта. Например, в API Gmail токен обновления Oauth 2.0 истекает после смены пароля. Смотрите https://support.google.com/a/answer/6328616?hl=en

Мы раньше настраивали API-интерфейс и генерировали токены обновления, когда мы настраиваем новых пользователей Gmail, а затем мы можем архивировать их почту (мы обязаны делать это по закону), но теперь, как только они сменили свой пароль, токен обновления отменяется.

Возможно, для youtube, карт токен обновления по-прежнему долговечен, но для gmail api рассчитывается на короткий токен.

Ответ 6

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

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

Ответ 7

Я провел несколько дальнейших исследований, и кажется, что токен доступа Google используется для извлечения токена обновления во время первого "автономного" запроса. Начиная с этого момента токен обновления используется для выдачи нового токена доступа. Идея состоит в том, что токен доступа является краткосрочным токеном, но он может быть обновлен с помощью токена обновления. Это устраняет необходимость запрашивать переменную URL-кода, для которой требуется подход с двумя конечными точками и должен быть инициирован с использованием запроса на основе реферера:

http://www.jensbits.com/2012/01/09/google-api-offline-access-using-oauth-2-0-refresh-token/

Некоторые, службы REST API, такие как Dropbox, выдают токены доступа, которые сохраняются навсегда, но Google выдает кратковременные токены доступа. PayPal использует компромисс, благодаря чему он позволяет получать токены доступа без принудительного использования реферера URI. Это означает, что токены доступа могут быть извлечены без необходимости щелчка по ссылке, чтобы инициировать процесс. Методология Google означает, что процедуры API должны вызываться только из-за необходимости использовать базу. По сути, вызовы инициируются посредством процедур, основанных на реферерах. Это контролируется выдачей недолговечных токенов доступа или доступа к токенам, которые необходимо обновить в цепочке. Это требует от разработчиков более тщательно думать о том, как должна протекать система.