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. Dengan mengaktifkan App Check, Anda 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. Menambahkan library App Check ke aplikasi

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

2. Membuat 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 untuk ditukar dengan token App Check. App Check SDK menangani penyimpanan token ke dalam cache, jadi selalu dapatkan token baru dalam penerapan getToken() Anda.

API modular 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);
    });
  }
});

API dengan namespace 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 Melakukan inisialisasi App Check

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

API modular 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    
});

API dengan namespace 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 terinstal di aplikasi Anda, deploy aplikasi tersebut.

Aplikasi klien yang diupdate akan mulai mengirimkan token App Check beserta setiap permintaan yang dibuatnya ke Firebase. Namun, sebelum Anda mengaktifkan penerapan di bagian App Check di 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.

Untuk membantu membuat 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 lalu 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 asli.

Lihat Menggunakan App Check dengan penyedia debug di aplikasi web.