Commencez à utiliser App Check avec un fournisseur personnalisé en C++

Cette page vous montre comment activer App Check dans une application C++, à l'aide de votre fournisseur App Check personnalisé . Lorsque vous activez App Check, vous garantissez que seule votre application peut accéder aux ressources Firebase de votre projet.

Si vous souhaitez utiliser App Check avec les fournisseurs par défaut, consultez Activer App Check avec les fournisseurs par défaut avec C++ .

Avant que tu commences

1. Ajoutez la bibliothèque App Check à votre application

Incluez la bibliothèque App Check dans votre ensemble de dépendances, en suivant les instructions de configuration d'App Check.

2. Implémenter les interfaces App Check

Tout d’abord, vous devez créer des classes qui implémentent les interfaces AppCheckProvider et AppCheckProviderFactory .

Votre classe AppCheckProvider doit avoir 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 la mise en cache des jetons, obtenez donc toujours un nouveau jeton dans votre implémentation de GetToken() .

class YourCustomAppCheckProvider : public AppCheckProvider {
  void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
      completion_callback) {
    // Logic to exchange proof of authenticity for an App Check token and
    //   expiration time.
    // ...

    // Create AppCheckToken object.
    AppCheckToken appCheckToken;
    appCheckToken.token = token;
    appCheckToken.expire_time_millis = expireTime;

    completion_callback(appCheckToken, 0, "");

    // Or, if needing to return an error
    //completion_callback({}, error_code, "Error description");
  }
};

Implémentez également une classe AppCheckProviderFactory qui crée des instances de votre implémentation AppCheckProvider :

class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
  AppCheckProvider* CreateProvider(App* app) {
    // Create and return an AppCheckProvider object.
    return new YourCustomAppCheckProvider(app);
  }
}

3. Initialiser la vérification de l'application

Ajoutez le code d'initialisation suivant à votre application afin qu'elle s'exécute avant d'utiliser d'autres SDK Firebase :

firebase::app_check::AppCheck::SetAppCheckProviderFactory(
    YourCustomAppCheckProviderFactory::GetInstance());

Prochaines étapes

Une fois la bibliothèque App Check installée dans votre application, commencez à distribuer l'application mise à jour à vos utilisateurs.

L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque demande qu'elle adresse à 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.

Surveillez les métriques et activez l’application

Toutefois, avant d'activer l'application, vous devez vous assurer que cela ne perturbera pas vos utilisateurs légitimes existants. D’un autre côté, si vous constatez une utilisation suspecte des ressources de votre application, vous souhaiterez peut-être activer l’application plus tôt.

Pour vous aider à prendre cette décision, vous pouvez consulter les métriques App Check pour les services que vous utilisez :

Activer l'application de l'App Check

Lorsque vous comprenez comment App Check affectera vos utilisateurs et que vous êtes prêt à continuer, vous pouvez activer l'application d'App Check :

Utiliser App Check dans les environnements de débogage

Si, après avoir enregistré votre application pour App Check, vous souhaitez exécuter votre application dans un environnement qu'App Check ne serait normalement pas classé comme valide, tel qu'un émulateur en cours de développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créez une version 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 avec C++ .