Mulai menggunakan App Check deegan penyedia kustom di aplikasi web

Halaman ini menunjukkan cara mengaktifkan App Check di aplikasi web menggunakan penyedia App Check kustom. Mengaktifkan App Check akan membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses resource Firebase project Anda.

Jika Anda ingin menggunakan App Check dengan salah satu penyedia bawaan, lihat dokumen untuk App Check dengan reCAPTCHA Enterprise.

Sebelum memulai

1. Tambahkan library App Check ke aplikasi Anda

Tambahkan Firebase ke aplikasi web jika Anda belum melakukannya. Pastikan untuk mengimpor library App Check.

2. Buat objek penyedia App Check

Buat objek penyedia App Check untuk penyedia kustom Anda. Objek ini harus memiliki metode getToken(), yang mengumpulkan semua informasi yang diperlukan oleh penyedia App Check kustom Anda sebagai bukti keaslian, lalu mengirimkannya ke layanan akuisisi token Anda sebagai pengganti token App Check. App Check SDK menangani penyimpanan token ke dalam cache, jadi selalu dapatkan token baru dalam penerapan getToken() Anda.

Web

import { CustomProvider } from "firebase/app-check";

const appCheckCustomProvider = new CustomProvider({
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
});

Web

const appCheckCustomProvider = {
  getToken: () => {
    return new Promise((resolve, _reject) => {
      // TODO: Logic to exchange proof of authenticity for an App Check token and
      // expiration time.

      // ...

      const appCheckToken = {
        token: tokenFromServer,
        expireTimeMillis: expirationFromServer * 1000
      };

      resolve(appCheckToken);
    });
  }
};

3. Lakukan inisialisasi App Check

Tambahkan kode inisialisasi berikut ke aplikasi Anda sebelum mengakses layanan Firebase:

Web

import { initializeApp } from "firebase/app";
import { initializeAppCheck } from "firebase/app-check";

const app = initializeApp({
  // Your firebase configuration object
});

const appCheck = initializeAppCheck(app, {
  provider: appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true    
});

Web

firebase.initializeApp({
  // Your firebase configuration object
});

const appCheck = firebase.appCheck();
appCheck.activate(
  appCheckCustomProvider,

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

Langkah berikutnya

Setelah library App Check diinstal di aplikasi Anda, deploy library tersebut.

Aplikasi klien yang telah diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, sebelum Anda mengaktifkan penerapan di bagian App Check pada Firebase console, token tersebut tidak harus valid untuk produk Firebase.

Memantau metrik dan mengaktifkan penerapan

Sebelum mengaktifkan penerapan, Anda harus memastikan bahwa tindakan tersebut tidak akan mengganggu pengguna sah yang sudah ada. Di sisi lain, jika Anda melihat penggunaan resource aplikasi yang mencurigakan, sebaiknya segera aktifkan penerapan.

Demi membantu mengambil keputusan ini, Anda dapat melihat metrik App Check untuk layanan yang Anda gunakan:

Mengaktifkan penerapan App Check

Setelah memahami pengaruh App Check terhadap pengguna dan siap melanjutkan, Anda dapat mengaktifkan penerapan App Check:

Menggunakan App Check di lingkungan debug

Jika Anda telah mendaftarkan aplikasi untuk App Check dan ingin menjalankan aplikasi di lingkungan yang biasanya tidak akan diklasifikasikan sebagai valid oleh App Check, seperti secara lokal selama pengembangan atau dari lingkungan continuous integration (CI), Anda dapat membuat build debug aplikasi yang menggunakan penyedia debug App Check, bukan penyedia pengesahan sungguhan.

Lihat Menggunakan App Check dengan penyedia debug di aplikasi web.