Implémenter Firebase App Check pour protéger les API contre les clients non autorisés

Lorsque vous appelez une API directement à partir d'une application mobile ou Web (par exemple, les API qui permettent d'accéder à des modèles d'IA générative), l'API est vulnérable aux utilisations abusives par des clients non autorisés. Pour protéger ces API, vous pouvez utiliser Firebase App Check pour vérifier que tous les appels d'API entrants proviennent de votre application réelle.

Firebase AI Logic fournit une passerelle proxy qui vous permet de vous intégrer à Firebase App Check et de protéger les API de modèles d'IA générative appelées par vos applications mobiles et Web. L'intégration avec App Check est compatible avec Gemini Developer API et Vertex AI Gemini API lorsque vous utilisez les SDK Firebase AI Logic. Vous pouvez protéger les modèles Gemini et Imagen.

Résumé général du fonctionnement de App Check

Avec App Check, les appareils exécutant votre application utilisent un fournisseur d'attestation d'application ou d'appareil qui vérifie l'un ou les deux éléments suivants:

  • Les requêtes proviennent de votre application authentique
  • Les requêtes proviennent d'un appareil authentique et non falsifié.

Cette attestation est jointe à chaque requête envoyée par votre application à l'aide d'un SDK Firebase AI Logic. Lorsque vous activez l'application de App Check, les requêtes des clients sans attestation valide sont refusées, tout comme toute requête provenant d'une application ou d'une plate-forme que vous n'avez pas autorisée.

Pour en savoir plus, consultez la documentation Firebase App Check.

Fournisseurs disponibles et instructions d'implémentation

App Check est compatible avec les services suivants en tant que fournisseurs d'attestation. Cliquez sur le lien d'un fournisseur pour afficher la documentation App Check correspondante, y compris les descriptions et les instructions d'implémentation.

Si ces fournisseurs ne répondent pas à vos besoins, vous pouvez également implémenter votre propre service qui utilise un fournisseur d'attestation tiers ou vos propres techniques d'attestation (pour en savoir plus, consultez la documentation App Check).

Instanciation spéciale requise pour Flutter

Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques à ce fournisseur sur cette page.

Lorsque vous utilisez App Check avec Firebase AI Logic dans les applications Flutter, vous devez transmettre explicitement App Check lors de l'instanciation, comme suit:

final ai = await FirebaseAI.googleAI(appCheck: FirebaseAppCheck.instance)
  .generativeModel(model: 'MODEL_NAME');

Informations supplémentaires sur App Check

Comprendre l'intégration de Firebase AI Logic à App Check

Pour utiliser les SDK Firebase AI Logic, l'API Firebase AI Logic (firebasevertexai.googleapis.com) doit être activée dans votre projet Firebase. En effet, les requêtes envoyées par les SDK Firebase AI Logic sont d'abord envoyées au serveur Firebase AI Logic, qui sert de passerelle proxy où la validation Firebase App Check a lieu avant que la requête ne soit autorisée à passer au backend du fournisseur"Gemini API" de votre choix et aux API pour accéder aux modèles Gemini et Imagen.