Cette page explique comment activer App Check dans une application Web à l'aide de votre fournisseur App Check personnalisé. Lorsque vous activez App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet.
Si vous souhaitez utiliser App Check avec l'un des fournisseurs intégrés, consultez la documentation sur App Check avec reCAPTCHA Enterprise.
Avant de commencer
Ajoutez Firebase à votre projet JavaScript si ce n'est pas déjà fait.
Implémentez la logique côté serveur de votre fournisseur App Check personnalisé.
1. Ajouter la bibliothèque App Check à votre application
Ajoutez Firebase à votre application Web si ce n'est pas déjà fait. Veillez à importer la bibliothèque App Check.
2. Créer l'objet du fournisseur App Check
Créez un objet de fournisseur App Check pour votre fournisseur personnalisé. Cet objet doit comporter une méthode getToken()
, qui collecte toutes les informations requises par votre fournisseur App Check personnalisé comme preuve d'authenticité et les envoie à votre service d'acquisition de jetons en échange d'un jeton App Check. Le SDK App Check gère le cache de jetons. Par conséquent, obtenez toujours un nouveau jeton dans votre implémentation de getToken()
.
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. Initialiser App Check
Ajoutez le code d'initialisation suivant à votre application avant d'accéder à des services 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);
Étapes suivantes
Une fois la bibliothèque App Check installée dans votre application, déployez-la.
L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque requête envoyée à Firebase, mais les produits Firebase n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application dans la section App Check de la console Firebase.
Surveiller les métriques et activer l'application
Toutefois, avant d'activer l'application, vous devez vous assurer qu'elle n'affectera pas vos utilisateurs légitimes existants. En revanche, si vous constatez une utilisation suspecte de vos ressources d'application, vous pouvez activer l'application plus tôt.
Pour vous aider à prendre cette décision, vous pouvez consulter les métriques App Check des services que vous utilisez:
- Surveillez les métriques de requête App Check pour Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity pour iOS, l'API Maps JavaScript et l'API Places (nouvelle).
- Surveillez les métriques des requêtes App Check pour Cloud Functions.
Activer l'application des règles App Check
Une fois que vous avez compris l'impact de App Check sur vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application de App Check:
- Activez l'application de App Check pour Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, l'API Maps JavaScript et l'API Places (nouveau).
- Activez l'application forcée App Check pour Cloud Functions.
Utiliser App Check dans les environnements de débogage
Si, après avoir enregistré votre application pour App Check, vous souhaitez l'exécuter dans un environnement que App Check ne classerait normalement pas comme valide, par exemple localement pendant le développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer un build de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'un véritable fournisseur d'attestation.
Consultez Utiliser App Check avec le fournisseur de débogage dans les applications Web.