Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Terapkan penyedia App Check khusus

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

App Check memiliki dukungan bawaan untuk beberapa penyedia: DeviceCheck dan App Attest di platform Apple, Play Integrity and SafetyNet di Android, dan reCAPTCHA v3 dan reCAPTCHA Enterprise di aplikasi web ( ikhtisar ). Ini adalah penyedia yang dipahami dengan baik yang harus memenuhi kebutuhan sebagian besar pengembang. Namun, Anda juga dapat mengimplementasikan penyedia App Check kustom Anda sendiri. Menggunakan penyedia khusus diperlukan saat:

  • Anda ingin menggunakan penyedia selain yang sudah ada di dalamnya.

  • Anda ingin menggunakan penyedia bawaan dengan cara yang tidak didukung.

  • Anda ingin memverifikasi perangkat menggunakan platform selain Apple, Android, dan web. Misalnya, Anda dapat membuat penyedia App Check untuk OS desktop atau perangkat Internet of Things.

  • Anda ingin menerapkan teknik verifikasi Anda sendiri di platform apa pun.

Ringkasan

Untuk mengimplementasikan penyedia App Check kustom, Anda memerlukan lingkungan backend aman yang dapat menjalankan Firebase Admin SDK Node.js . Ini bisa berupa Cloud Functions, platform kontainer seperti Cloud Run , atau server Anda sendiri.

Dari lingkungan ini, Anda akan menyediakan layanan yang dapat diakses jaringan yang menerima bukti keaslian dari klien aplikasi Anda, dan—jika bukti keaslian lolos penilaian keaslian Anda—mengembalikan token App Check. Indikator spesifik yang Anda gunakan sebagai bukti keaslian akan bergantung pada penyedia pihak ketiga yang Anda gunakan, atau indikator penemuan Anda sendiri, jika Anda menerapkan logika kustom.

Biasanya, Anda mengekspos layanan ini sebagai titik akhir REST atau gRPC, tetapi detail ini terserah Anda.

Buat titik akhir akuisisi token

  1. Instal dan inisialisasi Admin SDK .

  2. Buat titik akhir yang dapat diakses jaringan yang dapat menerima data keaslian dari klien Anda. Misalnya, menggunakan Cloud Functions:

    // Create endpoint at https://example-app.cloudfunctions.net/fetchAppCheckToken
    exports.fetchAppCheckToken = functions.https.onCall((authenticityData, context) => {
      // ...
    });
    
  3. Tambahkan ke logika titik akhir yang menilai data keaslian. Ini adalah logika inti dari penyedia App Check kustom Anda, yang harus Anda tulis sendiri.

  4. Jika Anda menentukan klien tersebut asli, gunakan Admin SDK untuk membuat token App Check dan mengembalikannya beserta waktu kedaluwarsanya ke klien:

    const admin = require('firebase-admin');
    admin.initializeApp();
    
    // ...
    
    admin.appCheck().createToken(appId)
        .then(function (appCheckToken) {
          // Token expires in an hour.
          const expiresAt = Math.floor(Date.now() / 1000) + 60 * 60;
    
          // Return appCheckToken and expiresAt to the client.
        })
       .catch(function (err) {
         console.error('Unable to create App Check token.');
         console.error(err);
       });
    

    Jika Anda tidak dapat memverifikasi keaslian klien, kembalikan kesalahan (misalnya, kembalikan kesalahan HTTP 403).

  5. Opsional : Tetapkan time-to-live (TTL) untuk token App Check yang diterbitkan oleh penyedia khusus Anda dengan meneruskan objek AppCheckTokenOptions ke createToken() . Anda dapat menyetel TTL ke nilai berapa pun antara 30 menit dan 7 hari. Saat menyetel nilai ini, perhatikan pengorbanan berikut:

    • Keamanan: TTL yang lebih pendek memberikan keamanan yang lebih kuat, karena mengurangi jendela di mana token yang bocor atau dicegat dapat disalahgunakan oleh penyerang.
    • Performa: TTL yang lebih pendek berarti aplikasi Anda akan lebih sering melakukan pengesahan. Karena proses pengesahan aplikasi menambahkan latensi ke permintaan jaringan setiap kali dijalankan, TTL singkat dapat memengaruhi kinerja aplikasi Anda.

    TTL default 1 jam wajar untuk sebagian besar aplikasi.

Langkah selanjutnya

Sekarang setelah Anda menerapkan logika sisi server penyedia ubahsuaian, pelajari cara menggunakannya dari klien Apple , Android , dan web Anda.