Google-api-nodejs-client: Apakah token akses Kedaluwarsa?

Dibuat pada 22 Feb 2016  ·  4Komentar  ·  Sumber: googleapis/google-api-nodejs-client

Saya menggunakan API (v1) dengan cara berikut:

var oauth2Client = new OAuth2(getGoogleCredentials().clientId, getGoogleCredentials().secret);
oauth2Client = new OAuth2(this.clientId, this.clientSecret);
this.oauth2Client.setCredentials({
  access_token: this.access_token,
  refresh_token: this.refresh_token,
  expiry_date: true
});

tidak pernah mendapat tanggapan 401 atau 403.
saat ini saya melihat perilaku bahwa token akses dapat disegarkan secara otomatis.
1) Apakah gmail Api secara otomatis menyegarkan token akses?
2) Bagaimana cara saya mendapatkan respons 401 & 403 dan bagaimana gmail api menyegarkannya?

Komentar yang paling membantu

Jika klien OAuth2 menemukan bahwa token akses kedaluwarsa, maka token tersebut akan secara otomatis menyegarkan kembali. Anda tidak akan melihat 401 atau 403 untuk token yang kedaluwarsa.

Memiliki oauth2Client ,

Adakah yang tahu cara memeriksa apakah token telah diperbarui dan mendapatkan yang baru? Saya belum pernah menemukan ini di dokumen. Ini adalah alasan umum — saya ingin selalu memperbarui token di database saya.

Terima kasih!

UPD

Satu cara yang saya temukan untuk saat ini adalah yang berikutnya:

let storedToken = { access_token: "...", expiry_date: 0000, ... };
oauth2Client.getAccessToken((err, access_token) => {
  if (storedToken.access_token !== access_token) {
    Object.assign(storedToken, oauth2Client.credentials || {});
  }
  // next steps go here
})

Dan tidak ada cara lain untuk mengakses oauth2Client.credentials selain secara langsung. Saya sarankan membuat dan mendokumentasikan pengambil untuk ini, bagaimana menurut Anda?

Semua 4 komentar

1) Apakah gmail Api secara otomatis menyegarkan token akses?

Ya, memang seharusnya begitu. Dari README.md :

Klien OAuth2 yang memungkinkan Anda mengambil token akses dan menyegarkan token serta mencoba kembali permintaan dengan lancar jika token kedaluwarsa.

2) Bagaimana cara saya mendapatkan respons 401 & 403 dan bagaimana gmail api menyegarkannya?

Jika klien OAuth2 menemukan bahwa token akses kedaluwarsa, maka token tersebut akan secara otomatis menyegarkan kembali. Anda tidak akan melihat 401 atau 403 untuk token yang kedaluwarsa.

@ryanseys Bisa konfirmasi.

Penutupan karena ini tampaknya tidak menjadi masalah. Jika Anda yakin bahwa ini benar-benar bug, silakan buka kembali masalah tersebut dan tambahkan lebih banyak informasi seperti:

  • Perilaku yang diharapkan
  • Perilaku sebenarnya
  • Contoh kode
  • Nomor versi
  • Referensi dokumen atau tautan lain

Atau, pertimbangkan untuk membuka Permintaan Tarik.

Jika tidak, pertanyaan dukungan ditangani di Stack Overflow .Ask a question on Stackoverflow

Jika klien OAuth2 menemukan bahwa token akses kedaluwarsa, maka token tersebut akan secara otomatis menyegarkan kembali. Anda tidak akan melihat 401 atau 403 untuk token yang kedaluwarsa.

Memiliki oauth2Client ,

Adakah yang tahu cara memeriksa apakah token telah diperbarui dan mendapatkan yang baru? Saya belum pernah menemukan ini di dokumen. Ini adalah alasan umum — saya ingin selalu memperbarui token di database saya.

Terima kasih!

UPD

Satu cara yang saya temukan untuk saat ini adalah yang berikutnya:

let storedToken = { access_token: "...", expiry_date: 0000, ... };
oauth2Client.getAccessToken((err, access_token) => {
  if (storedToken.access_token !== access_token) {
    Object.assign(storedToken, oauth2Client.credentials || {});
  }
  // next steps go here
})

Dan tidak ada cara lain untuk mengakses oauth2Client.credentials selain secara langsung. Saya sarankan membuat dan mendokumentasikan pengambil untuk ini, bagaimana menurut Anda?

Saya juga menghadapi masalah yang sama. Saya awalnya akan memanggil oauth2Client.refreshAccessToken() secara manual dan menyimpan token yang diperbarui, tetapi tampaknya metode ini sudah usang.

Apakah metode yang diposting oleh @ZitRos merupakan solusi elegan atau

Apakah halaman ini membantu?
0 / 5 - 0 peringkat