Waktu kedaluwarsa token akses Google

150

Ketika saya memperoleh access_tokendari Google API, itu datang dengan expires_innilai. Menurut dokumentasi, nilai ini menunjukkan "Masa pakai token akses yang tersisa".

Apa unit dari nilai ini?

Frank LaRosa
sumber
8
Karena 99,9% waktu ketika Anda memiliki angka yang mewakili waktu, entah detik atau subdivisi, dan mili / mikrodetik tidak masuk akal untuk kasus ini?
Balas dendam
7
@ FrankLaRosa: adakah cara untuk mengatur batas waktu akses token menjadi tak terbatas.
hardik
saya ulangi hal seme: terima jawaban di bawah ini jika itu memuaskan, terima kasih! Namun unit dari nilai ini adalah detik.
Davide Castronovo
@Hardik, bagaimana saya bisa membuat waktu kedaluwarsa tidak terbatas? apakah Anda menemukan solusi?
Jay Patel
Menariknya, apa hubungan antara kedaluwarsa dan memungkinkan penyegaran (untuk mendapatkan token baru)? Jika Anda menunggu sampai kedaluwarsa untuk mendapatkan token baru, beberapa panggilan api akan gagal di antaranya. Jika Anda "menyegarkan" terlalu awal, Anda hanya akan mendapatkan token lama kembali. bagaimana Anda tahu kapan Anda bisa mendapatkan token baru, relatif terhadap yang diberikan expires_in?
John Little

Jawaban:

96

Spesifikasi mengatakan detik:

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.

Saya setuju dengan OP bahwa ceroboh bagi Google untuk tidak mendokumentasikan ini.

Lawrence Kesteloot
sumber
Anda harus mengklik tab "OAUTH 2.0 ENDPOINTS"
Davide Castronovo
89

Lihat di: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

Ia mengatakan:

Parameter lain yang termasuk dalam respons termasuk expires_indan token_type. Parameter ini menjelaskan masa pakai token dalam hitungan detik ...

pelayan
sumber
token apa yang dimaksud expires_in: token akses atau menyegarkan token?
ア レ ッ ク ス
1
@AlexanderSupertramp yang seharusnya merujuk ke token akses sebagai token refresh digunakan untuk mendapatkan token akses baru saat pengguna offline.
Jeremy Thiesen
15

Karena tidak ada jawaban yang diterima saya akan mencoba menjawab yang ini:

[s] - seconds
msysmilu
sumber
6

Dari Google OAuth2.0 untuk dokumentasi Klien ,

  • expires_in - Jumlah detik yang tersisa sebelum token menjadi tidak valid.
Davide Castronovo
sumber
Tidak ada di halaman itu lagi, nilai maks dapat dimasukkan sebagai 3900 tetapi nilai sebenarnya adalah 3600. Bertanya-tanya apakah ada cara untuk memiliki token yang tidak kedaluwarsa?
sojim2
lihat tautan ini di halaman itu: developers.google.com/identity/protocols/… tapi saya tidak tahu bagaimana cara mendapatkan token yang tidak expiry, saya pikir menggunakan token semacam itu itu desain yang buruk untuk keamanan.
Davide Castronovo