Saya telah menggunakan token penyegaran beberapa kali hanya dalam waktu singkat untuk tujuan pengujian, tetapi saya bertanya-tanya apakah token penyegaran Google pernah kedaluwarsa? Dapatkah saya menggunakan token penyegaran yang sama untuk mendapatkan token akses lagi dan lagi untuk waktu yang lama (seminggu atau bahkan berbulan-bulan)?
api
google-api
token
access-token
Robin Carlo Catacutan
sumber
sumber
Jawaban:
Server Google Auth yang mengeluarkan token Segarkan tidak pernah kedaluwarsa - itulah inti dari token penyegaran. Token penyegaran akan kedaluwarsa (atau menurut saya menjadi tidak sah) ketika pengguna mencabut akses ke aplikasi Anda.
Lihat dokumen ini dengan jelas menyatakan fungsi token penyegaran.
sumber
Ini adalah utas yang sangat membingungkan. Jawaban pertama tampaknya benar, tetapi sebenarnya tidak mengutip sesuatu yang berwibawa dari google.
Jawaban paling pasti yang saya temukan sebenarnya di taman bermain pengembang tempat Anda mendapatkan token. Langkah 2 memiliki catatan di bagian bawah yang berbunyi:
https://developers.google.com/oauthplayground/
sumber
Saya tidak berpikir itu sepenuhnya benar:
dari halaman ini: https://developers.google.com/youtube/v3/guides/authentication#installed-apps
Itu dari dokumen YouTube (yang menurut saya jauh lebih baik daripada dokumen api lainnya) tetapi menurut saya itu sama di semua aplikasi Google.
sumber
Lihat ini:
di https://developers.google.com/accounts/docs/OAuth2WebServer
sumber
Aturannya telah berubah sekitar tahun 2017, jadi jawaban terbaik menurut saya adalah tergantung pada produknya. Misalnya, di API Gmail, token penyegaran Oauth 2.0 kedaluwarsa setelah sandi diubah. Lihat https://support.google.com/a/answer/6328616?hl=id ini
Kami biasanya menyiapkan akses API terlebih dahulu dan membuat token penyegaran saat kami menyiapkan pengguna gmail BARU, lalu kami dapat mengarsipkan email mereka (kami diwajibkan untuk melakukannya oleh hukum), tetapi sekarang segera setelah mereka mengubah sandi mereka, token penyegaran dicabut.
Mungkin untuk youtube, maps, token penyegaran masih benar-benar berumur panjang, tetapi untuk api gmail, andalkan token pendek.
sumber
Konsep utama dari token penyegaran adalah tahan lama dan tidak pernah kedaluwarsa.
Token akses memiliki waktu kedaluwarsa dan kedaluwarsa, setelah kedaluwarsa kita dapat menggunakan token penyegaran, yang akan digunakan berulang kali sampai pengguna mencabut dari akunnya.
sumber
Baca ini dari: https://developers.google.com/identity/protocols/oauth2#expiration Anda harus menulis kode Anda untuk mengantisipasi kemungkinan bahwa token penyegaran yang diberikan tidak lagi berfungsi. Token penyegaran mungkin berhenti berfungsi karena salah satu alasan berikut:
Pengguna telah mencabut akses aplikasi Anda. Token penyegaran tidak digunakan selama enam bulan. Pengguna mengubah sandi dan token penyegaran berisi cakupan Gmail. Akun pengguna telah melebihi jumlah maksimum token penyegaran yang diberikan (langsung). Saat ini ada batasan 50 token penyegaran per akun pengguna per klien. Jika batas tercapai, membuat token penyegaran baru secara otomatis membatalkan token penyegaran terlama tanpa peringatan. Batas ini tidak berlaku untuk akun layanan.
Ada juga batasan yang lebih besar pada jumlah total token penyegaran yang dapat dimiliki akun pengguna atau akun layanan di semua klien. Sebagian besar pengguna normal tidak akan melebihi batas ini tetapi akun pengujian pengembang mungkin.
sumber
Saya telah melakukan penelitian lebih lanjut dan tampaknya token akses Google digunakan untuk mengambil token penyegaran, selama permintaan 'offline' pertama. Mulai saat ini dan seterusnya, token penyegaran digunakan untuk menerbitkan token akses baru. Idenya adalah bahwa token akses adalah token jangka pendek, tetapi dapat diperbarui dengan token penyegaran jangka panjang. Ini menghilangkan kebutuhan untuk meminta variabel 'kode' URL, yang membutuhkan pendekatan dua titik akhir dan harus dimulai, menggunakan permintaan berbasis perujuk:
http://www.jensbits.com/2012/01/09/google-api-offline-access-using-oauth-2-0-refresh-token/
Beberapa, layanan REST API seperti Dropbox, mengeluarkan token akses yang bertahan selamanya, tetapi Google mengeluarkan token akses jangka pendek. PayPal menggunakan kompromi, yang memungkinkan token akses diambil tanpa penegakan perujuk URI. Ini berarti token akses dapat diambil tanpa harus mengklik tautan untuk memulai proses. Metodologi Google berarti bahwa rutinitas API hanya boleh dipanggil berdasarkan kebutuhan penggunaan. Pada dasarnya, panggilan dimulai melalui prosedur berbasis perujuk. Ini dikendalikan dengan mengeluarkan token akses berumur pendek, atau token akses yang harus disegarkan dalam sebuah rantai. Ini mengharuskan pengembang untuk berpikir lebih hati-hati tentang bagaimana sistem seharusnya mengalir.
sumber