Zacznij korzystać ze Sprawdzania aplikacji od dostawcy niestandardowego w aplikacjach internetowych

Na tej stronie dowiesz się, jak włączyć App Check w aplikacji internetowej za pomocą niestandardowego App Check dostawcy. Gdy włączysz App Check, pomożesz zapewnić, że tylko Twoja aplikacja będzie mogła uzyskiwać dostęp do zasobów Firebase w Twoim projekcie.

Jeśli chcesz używać App Check z jednym z wbudowanych dostawców, zapoznaj się z dokumentacją App Check z reCAPTCHA Enterprise.

Zanim zaczniesz

1. Dodaj bibliotekę App Check do swojej aplikacji

Jeśli jeszcze tego nie zrobisz, dodaj Firebase do swojej aplikacji internetowej. Pamiętaj, aby zaimportować bibliotekę App Check.

2. Utwórz obiekt dostawcy App Check

Utwórz obiekt dostawcy App Check dla swojego niestandardowego dostawcy. Ten obiekt musi mieć metodę getToken(), która zbiera wszystkie informacje wymagane przez niestandardowego App Check dostawcę jako dowód autentyczności i wysyła je do usługi pozyskiwania tokenów w zamian za token App Check. Pakiet SDK App Check obsługuje buforowanie tokenów, dlatego w implementacji getToken() zawsze pobieraj nowy token.

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. Zainicjuj App Check

Zanim uzyskasz dostęp do jakichkolwiek usług Firebase, dodaj do aplikacji ten kod inicjujący:

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);

Dalsze kroki

Gdy biblioteka App Check zostanie zainstalowana w Twojej aplikacji, wdróż ją.

Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym żądaniem wysyłanym do Firebase, ale produkty Firebase nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz egzekwowania w sekcji App Check w konsoli Firebase.

Monitorowanie danych i włączanie egzekwowania

Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania obecnych, legalnych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane korzystanie z zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.

Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące używanych usług:

Włącz egzekwowanie App Check

Gdy zrozumiesz, jak App Check wpłynie na Twoich użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie App Check:

Używanie App Check w środowiskach debugowania

Jeśli po zarejestrowaniu aplikacji w App Check chcesz uruchomić swoją aplikację w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. lokalnie podczas programowania lub w środowisku trybu ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji, która zamiast prawdziwego dostawcy atestów używa dostawcy debugowania App Check.

Zobacz Używanie App Check z dostawcą debugowania w aplikacjach internetowych.