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

Z tego artykułu dowiesz się, jak włączyć App Check w aplikacji internetowej przy użyciu własnego dostawcy App Check. Gdy włączysz App Check, będziesz mieć pewność, że tylko Twoja aplikacja może uzyskiwać dostęp do zasobów Firebase w projekcie.

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

Zanim zaczniesz

1. Dodawanie biblioteki App Check do aplikacji

Dodaj Firebase do aplikacji internetowej, jeśli jeszcze tego nie zrobiono. Pamiętaj, aby zaimportować bibliotekę App Check.

2. Utwórz obiekt dostawcy App Check

Utwórz obiekt dostawcy App Check dla dostawcy niestandardowego. Ten obiekt musi mieć metodę getToken(), która zbiera wszelkie informacje wymagane przez niestandardowego dostawcę App Check jako dowód autentyczności i przesyła je do usługi uzyskiwania tokenów w zamian za token App Check. App CheckPakiet SDK obsługuje buforowanie tokenów, więc 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 usług Firebase, dodaj do aplikacji ten kod inicjalizacji:

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

Po zainstalowaniu biblioteki App Check w aplikacji wdróż ją.

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

Monitorowanie danych i włączanie egzekwowania

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

Aby podjąć decyzję, możesz sprawdzić dane App Check dotyczące usług, z których korzystasz:

Włączanie wymuszania App Check

Gdy zrozumiesz, jak App Check wpłynie na 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ć ją w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. lokalnie podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy atestów.

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