获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Commencez à utiliser App Check avec App Attest sur les plates-formes Apple

Cette page vous montre comment activer App Check dans une application Apple, à l'aide du fournisseur App Attest intégré. Lorsque vous activez App Check, vous vous assurez que seule votre application peut accéder aux ressources Firebase de votre projet. Voir un aperçu de cette fonctionnalité.

App Check utilise App Attest pour vérifier que les demandes adressées aux services Firebase proviennent de votre application authentique. Actuellement, App Check n'utilise pas App Attest pour analyser les risques de fraude .

Si vous souhaitez utiliser App Check avec votre propre fournisseur personnalisé, consultez Implémenter un fournisseur App Check personnalisé .

1. Configurez votre projet Firebase

  1. Vous aurez besoin de Xcode 12.5+ pour utiliser App Attest.

  2. Ajoutez Firebase à votre projet Apple si vous ne l'avez pas déjà fait.

  3. Enregistrez vos applications pour utiliser App Check auprès du fournisseur App Attest dans la section App Check de la console Firebase.

    Vous devez généralement enregistrer toutes les applications de votre projet, car une fois que vous avez activé l'application pour un produit Firebase, seules les applications enregistrées pourront accéder aux ressources principales du produit.

  4. Facultatif : dans les paramètres d'enregistrement de l'application, définissez une durée de vie (TTL) personnalisée pour les jetons App Check émis par le fournisseur. Vous pouvez définir le TTL sur n'importe quelle valeur comprise entre 30 minutes et 7 jours. Lorsque vous modifiez cette valeur, tenez compte des compromis suivants :

    • Sécurité : des durées de vie plus courtes offrent une sécurité renforcée, car elles réduisent la fenêtre dans laquelle un jeton divulgué ou intercepté peut être abusé par un attaquant.
    • Performances : des durées de vie plus courtes signifient que votre application effectuera des attestations plus fréquemment. Étant donné que le processus d'attestation d'application ajoute de la latence aux demandes réseau à chaque fois qu'il est exécuté, une durée de vie courte peut avoir un impact sur les performances de votre application.
    • Quota et coût : des durées de vie plus courtes et des réattestations fréquentes épuisent votre quota plus rapidement et, pour les services payants, coûtent potentiellement plus cher. Voir Quotas et limites .

    Le TTL par défaut de 1 heure est raisonnable pour la plupart des applications. Notez que la bibliothèque App Check actualise les jetons à environ la moitié de la durée TTL.

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

  1. Ajoutez la dépendance pour App Check au Podfile de votre projet :

    pod 'FirebaseAppCheck'

    Ou, alternativement, vous pouvez utiliser Swift Package Manager à la place.

    Assurez-vous que vous utilisez également la dernière version de tous les autres SDK Firebase dont vous dépendez.

  2. Exécutez l' pod install et ouvrez le fichier .xcworkspace créé.

  3. Dans Xcode, ajoutez la fonctionnalité App Attest à votre application.

  4. Dans le fichier .entitlements de votre projet, définissez l'environnement App Attest sur production .

3. Initialiser App Check

Vous devrez initialiser App Check avant d'utiliser d'autres SDK Firebase.

Tout d'abord, écrivez une implémentation de AppCheckProviderFactory . Les spécificités de votre implémentation dépendront de votre cas d'utilisation.

Par exemple, si vous n'avez que des utilisateurs sur iOS 14 et versions ultérieures, vous pouvez simplement toujours créer des objets AppAttestProvider :

Rapide

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

Objectif c

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  return [[FIRAppAttestProvider alloc] initWithApp:app];
}

@end

Ou, vous pouvez créer des objets AppAttestProvider sur iOS 14 et versions ultérieures, et revenir à DeviceCheckProvider sur les versions antérieures :

Rapide

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

Objectif c

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

Après avoir implémenté une classe AppCheckProviderFactory , configurez App Check pour l'utiliser :

Rapide

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

Objectif c

Remarque : Ce produit Firebase n'est pas disponible sur les cibles watchOS.

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

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.

Surveiller les métriques et activer l'application

Avant d'activer l'application, cependant, vous devez vous assurer que cela ne perturbera pas vos utilisateurs légitimes existants. D'autre part, 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 statistiques d'App Check pour les services que vous utilisez :

Activer l'application de la vérification des applications

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 classerait normalement pas comme valide, tel qu'un simulateur pendant le 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 sur les plates-formes Apple .