Vous pouvez protéger les ressources non Firebase de votre application, telles que les backends auto-hébergés, avec App Check. Pour ce faire, vous devrez effectuer les deux opérations suivantes :
- Modifiez votre client d'application pour envoyer un jeton App Check avec chaque demande à votre backend, comme décrit sur cette page.
- Modifiez votre backend pour exiger un jeton App Check valide avec chaque demande, comme décrit dans Vérifier les jetons App Check à partir d'un backend personnalisé .
Avant que tu commences
Ajoutez App Check à votre application, en utilisant les fournisseurs par défaut .
Envoyer des jetons App Check avec des requêtes backend
Pour vous assurer que vos requêtes backend incluent un jeton App Check valide et non expiré, faites précéder chaque requête d'un appel à getToken()
. La bibliothèque App Check actualisera le jeton si nécessaire.
Une fois que vous avez un jeton valide, envoyez-le avec la demande à votre backend. C'est à vous de décider comment procéder, mais n'envoyez pas de jetons App Check dans le cadre d'URL , y compris dans les paramètres de requête, car cela les rend vulnérables aux fuites et aux interceptions accidentelles. L'approche recommandée consiste à envoyer le jeton dans un en-tête HTTP personnalisé.
Par example:
void callApiExample() async {
final appCheckToken = await FirebaseAppCheck.instance.getToken();
if (appCheckToken != null) {
final response = await http.get(
Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
headers: {"X-Firebase-AppCheck": appCheckToken},
);
} else {
// Error: couldn't get an App Check token.
}
}