Klien OAuth2 sudah ada untuk nama paket dan SHA-1 ini di proyek lain

Mengapa saya melihat ini?

Kesalahan ini terjadi jika kami mendeteksi ada proyek Firebase atau Google Cloud lain yang berisi ID klien OAuth 2.0 dengan nama paket dan SHA-1 yang Anda tentukan. Bila Anda menambahkan Firebase ke aplikasi Android di Firebase console, kami akan mencoba untuk menghasilkan ID Klien Google OAuth 2.0 ke aplikasi Anda, yang digunakan untuk mengautentikasi aplikasi tersebut dengan beberapa Google API, seperti Undangan App atau API Drive. Demi alasan keamanan, setiap pasangan nama paket dan sidik jari SHA-1 yang digunakan untuk membuat ID klien OAuth ID 2.0 harus unik di semua proyek Firebase dan Google Cloud.

Apa dampaknya terhadap aplikasi saya?

Saat ini ada dua fitur Firebase yang memerlukan konfigurasi nama paket dan SHA-1 di aplikasi Android Anda:

  • Invites: Tidak berfungsi jika SHA-1 tidak disediakan. Saat ini tidak ada cara untuk menggunakan SHA-1 dari proyek lain.
  • Authentication: Untuk menggunakan Google sebagai penyedia auth, Anda harus memasukkan ID klien ke dalam daftar putih dari proyek yang ada pada konfigurasi Masuk.

Apa yang dapat saya lakukan?

Jika Anda tidak menggunakan Firebase Invites atau Google sebagai penyedia masuk Firebase Auth, Anda tidak perlu melakukan apa-apa. Jika Anda menggunakan salah satu dari fitur ini, lihat skenario mana dari yang berikut ini yang paling menggambarkan situasi Anda:

Saya tahu proyek Google Cloud mana yang berisi ID klien OAuth 2.0 yang berkonflik, dan saya tidak keberatan jika harus menghapus proyek Firebase atau harus menggunakan Invites.
Pendekatan ini tidak disarankan jika aplikasi Firebase Anda sudah diproduksi, atau jika Anda memiliki data Analytics atau Crash yang ingin dipertahankan.

Jika Anda baru saja membuat proyek ini atau prosesnya belum begitu jauh dari tahap penambahan Firebase ke aplikasi, pendekatan paling sederhana adalah dengan menghapus proyek Anda, lalu mengimpor proyek Google yang ada. Untuk melakukannya:

  1. Hapus proyek Firebase Anda. Tindakan ini bersifat permanen dan akan menghapus semua data yang terkait dengan proyek Anda.
  2. Buka Firebase console.
  3. Klik Impor proyek Google.
  4. Pilih proyek yang ada yang berisi ID klien OAuth 2.0, lalu klik Tambahkan Firebase.
Saya tidak ingin mengimpor proyek yang ada dan tidak sedang menggunakan Invites.

Jika Anda tidak dapat mengimpor proyek yang ada dan tidak berencana menggunakan Invites, Anda dapat memasukkan ID klien OAuth 2.0 yang ada secara manual ke dalam daftar putih untuk menggunakan Google sebagai penyedia masuk.

Pertama-tama, temukan ID klien OAuth 2.0 dari proyek yang ada. Untuk melakukannya:

  1. Buka laman Kredensial Google Cloud Console. Jika proyek yang berisi ID klien OAuth 2.0 tidak otomatis terbuka, pilih dari menu tarik-turun di pojok kanan atas laman.
  2. Di bagian ID klien OAuth 2.0, cari nama klien yang berisi SHA-1 dan nama paket yang digunakan untuk proyek Firebase Anda. Jika Anda tidak yakin mana yang benar, klik nama klien untuk melihat detailnya.
  3. Jika Anda telah menemukan nama klien yang benar, salin nilai lengkap di kolom ID Klien.

Selanjutnya, masukkan ID klien ini ke dalam daftar putih untuk menggunakan Google sebagai penyedia masuk. Untuk melakukannya:

  1. Buka Firebase console dan pilih proyek Anda.
  2. Pilih Auth dari menu di sebelah kiri.
  3. Pilih tab Metode masuk.
  4. Di laman Metode masuk, klik Google pada kartu Penyedia masuk.
  5. Perluas opsi Masukkan ID klien ke dalam daftar putih dari proyek eksternal.
  6. Tempel ID klien dari Cloud Console ke dalam bidang teks, lalu klik Tambahkan.
Saya tidak tahu proyek mana yang berisi ID klien OAuth 2.0 yang berkonflik.

Jika Anda tidak tahu proyek mana yang berisi ID klien OAuth 2.0 yang berkonflik, cobalah langkah-langkah berikut untuk melihat apakah Anda dapat menemukannya atau tidak:

  1. Buka laman Kredensial Google Cloud Console.
  2. Di bagian ID klien OAuth 2.0, klik nama klien untuk melihat SHA-1 dan nama paket yang digunakan untuk membuat ID klien. Ulangi langkah ini hingga Anda menemukan nama klien yang benar atau telah mencoba semua klien.

Jika Anda tidak menemukan nama klien yang berisi SHA-1 dan paket nama yang cocok, pilih proyek lain dari menu tarik-turun di pojok kanan atas laman dan coba lagi prosedur di atas.

Dalam sejumlah kasus, klien OAuth 2,0 mungkin berada dalam proyek yang bukan milik Anda. Jika Anda tidak dapat menemukan proyek yang berkonflik, hubungi dukungan Firebase dan berikan nama paket serta sidik jari SHA-1 yang berkonflik kepada mereka.

Apakah ini membantu?
Bagaimana cara meningkatkannya?