Czas wygaśnięcia tokena dostępu Google

150

Kiedy otrzymuję access_tokenz Google API, ma on expires_inwartość. Zgodnie z dokumentacją ta wartość wskazuje „Pozostały okres istnienia tokenu dostępu”.

Jakie są jednostki tej wartości?

Frank LaRosa
źródło
8
Ponieważ 99,9% czasu, gdy masz liczbę reprezentującą czas, są to sekundy lub jej podział, a mili / mikrosekundy nie mają sensu w tym przypadku?
Venge
7
@FrankLaRosa: czy istnieje sposób na ustawienie nieograniczonego wygaśnięcia tokena dostępu.
hardik
powtarzam seme: proszę przyjąć odpowiedź poniżej, jeśli jest zadowalająca, dzięki! Jednak jednostkami tej wartości są sekundy.
Davide Castronovo
@Hardik, jak mogę nieograniczony czas wygaśnięcia? znalazłeś jakieś rozwiązanie?
Jay Patel
Co ciekawe, jaka jest zależność między wygaśnięciem a zezwoleniem na odświeżenie (aby uzyskać nowy token)? Jeśli zaczekasz, aż wygaśnie, aby otrzymać nowy token, niektóre wywołania interfejsu API zakończą się niepowodzeniem. Jeśli „odświeżysz” zbyt wcześnie, po prostu odzyskasz stary token. skąd wiesz, kiedy możesz uzyskać nowy token w stosunku do podanego expires_in?
John Little

Odpowiedzi:

96

Specyfikacja mówi sekundy:

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.

Zgadzam się z OP, że Google nie dokumentuje tego.

Lawrence Kesteloot
źródło
Musisz kliknąć zakładkę „PUNKTY KOŃCOWE OAUTH 2.0”
Davide Castronovo,
89

Zajrzyj na: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

To mówi:

Inne parametry zawarte w odpowiedzi to expires_ini token_type. Te parametry opisują żywotność tokenu w sekundach ...

gulasz
źródło
do jakiego tokena odnosi się expires_in: access token czy refresh token?
ア レ ッ ク ス
1
@AlexanderSupertramp, który powinien odnosić się do tokenu dostępu jako token odświeżania, jest używany do pobierania nowych tokenów dostępu, gdy użytkownik jest offline.
Jeremy Thiesen
15

Ponieważ nie ma zaakceptowanej odpowiedzi, spróbuję odpowiedzieć na to:

[s] - seconds
msysmilu
źródło
6

Z Google OAuth2.0 dla dokumentacji klienta ,

  • expires_in - Liczba sekund pozostałych do unieważnienia tokena.
Davide Castronovo
źródło
Nie ma go już na tej stronie, maksymalną wartość można wprowadzić jako 3900, ale rzeczywista wartość to 3600. Zastanawiasz się, czy istnieje sposób na posiadanie tokena bez wygaśnięcia?
sojim2
zobacz ten link na tej stronie: developers.google.com/identity/protocols/ ... ale nie wiem, jak uzyskać token, który nie wygasł, ale myślę, że używanie takich tokenów jest złym rozwiązaniem dla bezpieczeństwa.
Davide Castronovo