Hora de expiração do token de acesso do Google

150

Quando obtenho um access_tokenda API do Google, ele vem com um expires_invalor. De acordo com a documentação, esse valor indica "A vida útil restante do token de acesso".

Quais são as unidades desse valor?

Frank LaRosa
fonte
8
Como 99,9% das vezes em que você tem um número que representa o tempo, são segundos ou subdivisão dele, e mili / microssegundos não faz sentido para este caso?
Venge
7
@FrankLaRosa: existe alguma maneira de definir o prazo de validade do token de acesso como ilimitado.
hardik
repito a coisa seme: aceite a resposta abaixo se isso for satisfatório, obrigado! No entanto, as unidades desse valor são segundos.
Davide Castronovo
@ Hardik, como posso tornar o prazo de validade ilimitado? você encontrou alguma solução?
Jay Patel
Curiosamente, qual é a relação entre expirar e permitir uma atualização (para obter um novo token)? Se você esperar até que ele expire para obter um novo token, algumas chamadas de API irão falhar no meio. Se você "atualizar" cedo demais, você receberá o token antigo de volta. como você sabe quando pode obter um novo token em relação ao expires_in fornecido?
John Little

Respostas:

96

A especificação diz segundos:

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.

Concordo com o OP de que é descuidado o Google não documentar isso.

Lawrence Kesteloot
fonte
Você deve clicar na guia "OAUTH 2.0 ENDPOINTS"
Davide Castronovo
89

Dê uma olhada em: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

Diz:

Outros parâmetros incluídos na resposta incluem expires_ine token_type. Esses parâmetros descrevem a vida útil do token em segundos ...

ensopado
fonte
a que token expires_in se refere: acessar token ou atualizar token?
アレックス
1
O @AlexanderSupertramp que deve se referir ao token de acesso como um token de atualização é usado para obter novos tokens de acesso quando o usuário está offline.
Jeremy Thiesen
15

Como não há resposta aceita, tentarei responder a esta:

[s] - seconds
msysmilu
fonte
6

No Google OAuth2.0 for Documentation Client ,

  • expires_in - o número de segundos restantes antes que o token se torne inválido.
Davide Castronovo
fonte
Não está mais nessa página, o valor máximo pode ser inserido como 3900, mas o valor real é 3600. Pergunto-me se existe uma maneira de obter um token de não validade?
sojim2
consulte este link nessa página: developers.google.com/identity/protocols/…, mas não sei como obter um token não expirado, no entanto, acho que usar esses tokens é um péssimo design para segurança.
Davide Castronovo