Срок действия токена доступа Google


150

Когда я получаю access_tokenот Google API, он имеет expires_inзначение. Согласно документации, это значение указывает «Оставшееся время жизни токена доступа».

Каковы единицы этого значения?


8
Потому что в 99,9% случаев, когда у вас есть число, представляющее время, это либо секунды, либо его подразделение, и миллисекунды не имеют смысла для этого случая?
Venge

7
@FrankLaRosa: есть ли способ установить неограниченный срок действия маркера доступа.
Hardik

Я повторяю одну вещь: пожалуйста, примите ответ ниже, если это удовлетворительно, спасибо! Однако единицами этого значения являются секунды.
Давиде Кастроново

@ Хардик, как я могу сделать срок действия неограниченным? Вы нашли какое-нибудь решение?
Джей Патель

Интересно, какова связь между истечением срока действия и разрешением обновления (для получения нового токена)? Если вы подождете, пока не истечет срок действия, чтобы получить новый токен, некоторые вызовы API будут терпеть неудачу между ними. Если вы «обновитесь» слишком рано, вы просто вернете старый токен. как узнать, когда можно получить новый токен относительно поставляемого expires_in?
Джон Литтл

Ответы:


96

Спекуляция говорит секунды:

http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-4.2.2

expires_in
    OPTIONAL.  The lifetime in seconds of the access token.  For
    example, the value "3600" denotes that the access token will
    expire in one hour from the time the response was generated.

Я согласен с ОП, что для Google небрежно не задокументировать это.


Вы должны нажать на вкладку "OAUTH 2.0 ENDPOINTS"
Davide Castronovo

89

Посмотрите на: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

Это говорит:

Другие параметры, включенные в ответ, включают expires_inи token_type. Эти параметры описывают время жизни токена в секундах ...


на какой токен ссылается expires_in: токен доступа или токен обновления?
ス レ ッ ク ス

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

15

Поскольку нет принятого ответа, я постараюсь ответить на этот:

[s] - seconds

6

Из документации Google OAuth2.0 для клиента ,

  • expires_in - количество секунд, оставшихся до того, как токен станет недействительным.

Его больше нет на этой странице, максимальное значение можно ввести как 3900, но фактическое значение - 3600. Интересно, есть ли способ получить токен без срока действия?
sojim2

см. эту ссылку на этой странице: developers.google.com/identity/protocols/… но я не знаю, как получить токен без истечения срока действия, как я думаю, использование таких токенов - плохой дизайн для безопасности.
Давиде Кастроново
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.