Я использовал токен обновления несколько раз за короткий период времени в целях тестирования, но мне интересно, истечет ли срок действия токенов обновления Google? Могу ли я использовать один и тот же токен обновления, чтобы снова и снова получать другой токен доступа в течение длительного периода (недели или даже месяцев)?
api
google-api
token
access-token
Робин Карло Катакутан
источник
источник
Ответы:
Сервер Google Auth выдал токены обновления, срок действия которых никогда не истекает - в этом весь смысл токенов обновления. Токен обновления истечет (или, я бы сказал, станет неавторизованным), когда пользователь отменяет доступ к вашему приложению.
Обратитесь к этому документу, в нем четко указана функция токенов обновления.
источник
Это очень запутанная тема. Первый ответ кажется правильным, но на самом деле он не цитирует ничего авторитетного из Google.
Самый точный ответ, который я нашел, на самом деле находится на игровой площадке разработчика, где вы получаете токен. На шаге 2 внизу есть примечание:
https://developers.google.com/oauthplayground/
источник
Я не думаю, что это полностью правда:
с этой страницы: https://developers.google.com/youtube/v3/guides/authentication#installed-apps
Это из документов youTube (которые, как я считаю, намного лучше, чем другие документы api), но я думаю, что это одинаково для всех приложений Google.
источник
посмотри это:
в https://developers.google.com/accounts/docs/OAuth2WebServer
источник
Правила изменились где-то в 2017 году, поэтому я думаю, что лучший ответ - это зависит от продукта. Например, в API Gmail срок действия токена обновления Oauth 2.0 истекает после смены пароля. См. Этот https://support.google.com/a/answer/6328616?hl=en
Раньше мы заранее настраивали доступ к API и генерировали токены обновления при настройке НОВЫХ пользователей Gmail, а затем мы могли архивировать их почту (мы обязаны делать это по закону), но теперь, как только они меняют свой пароль, токен обновления аннулирован.
Возможно, для youtube, maps токен обновления по-прежнему действительно долгоживущий, но для gmail api рассчитывайте на короткий токен.
источник
Основная идея токена обновления заключается в том, что он долговечен и никогда не истекает.
У токена доступа есть время истечения срока действия, и он истекает, как только он истекает, мы можем использовать токен обновления, который будет использоваться снова и снова, пока пользователь не отзовет свою учетную запись.
источник
Прочтите это по адресу : https://developers.google.com/identity/protocols/oauth2#expiration. Вы должны написать свой код, чтобы предвидеть возможность того, что предоставленный токен обновления может больше не работать. Токен обновления может перестать работать по одной из следующих причин:
Пользователь отозвал доступ вашему приложению. Токен обновления не использовался в течение шести месяцев. Пользователь изменил пароли, и токен обновления содержит области Gmail. В учетной записи пользователя превышено максимальное количество предоставленных (действующих) токенов обновления. В настоящее время существует ограничение в 50 токенов обновления на учетную запись пользователя для каждого клиента. Если предел достигнут, создание нового токена обновления автоматически аннулирует самый старый токен обновления без предупреждения. Это ограничение не распространяется на сервисные аккаунты.
Также существует больший лимит на общее количество токенов обновления, которые может иметь учетная запись пользователя или сервисная учетная запись для всех клиентов. Большинство обычных пользователей не превысит этот предел, но тестовая учетная запись разработчика может.
источник
Я провел дополнительное исследование, и мне кажется, что токен доступа 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 следует вызывать только при необходимости. По сути, вызовы инициируются через процедуры на основе реферера. Это контролируется выпуском кратковременных токенов доступа или токенов доступа, которые необходимо обновлять в цепочке. Это требует от разработчиков более тщательного обдумывания того, как должна работать система.
источник