Premiers pas avec App Check pour Google Sign-In sur iOS

Cette page explique comment activer App Check dans une application iOS. Cela vous permet de vous assurer que seule votre application peut accéder aux points de terminaison OAuth 2.0 de Google au nom de votre projet. Consultez la présentation de cette fonctionnalité.

App Check utilise App Attest pour vérifier que les requêtes OAuth 2.0 proviennent de votre application authentique. App Check n'utilise pas App Attest pour analyser les risques de fraude.

Avant de commencer

  1. Assurez-vous d'utiliser Xcode 12.5 ou une version ultérieure.

  2. Intégrer Google Sign-In à votre application iOS, à l'aide de la bibliothèque Google Sign-in

1. Configurer votre projet

  1. Vous devez disposer d'un projet Firebase pour utiliser App Check avec Google Sign-In.

    • Si votre application utilise déjà Firebase, utilisez le même projet.

    • Si votre application utilise Google Sign-In, mais pas Firebase, vous disposez déjà d'un projet Google Cloud. Ajoutez Firebase à votre projet Google Cloud en le sélectionnant lorsque vous créez un projet dans la console Firebase.

    Voir aussi : Relation entre les projets Firebase et Google Cloud

  2. Si vous ne l'avez pas déjà fait, ajoutez vos applications iOS à votre projet Firebase à l'aide de la page Paramètres du projet de la console Firebase.

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

  4. Assurez-vous que tous les clients OAuth de votre projet sont associés à une application.

    Si vous avez dissocié des clients, le message Vous avez n dissocié des clients OAuth qui nécessitent une configuration supplémentaire s'affichera dans la section Identité Google pour iOS de la page App Check.

    De plus, si vous avez supprimé des clients OAuth après les avoir configurés dans App Check, le message suivant s'affiche : Vous avez n remplacement(s) sans client OAuth correspondant. Vous pouvez effectuer un nettoyage en toute sécurité en supprimant ces remplacements.

    Vous pouvez associer des clients non associés à une application nouvelle ou existante sur la page Clients OAuth de la console Firebase.

2. Ajouter la bibliothèque Google Sign-In bêta à votre application

  1. Dans votre projet Xcode, définissez la dépendance Google Sign-In sur la version 7.1.0-fac-beta-1.1.0:

    SPM

    Définissez la règle de dépendance de googlesignin-ios sur la version exacte : 7.1.0-fac-beta-1.1.0.

    CocoaPods

    Mettez à jour votre Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn',
          :git => 'https://github.com/google/GoogleSignIn-iOS.git',
          :tag => '7.1.0-fac-beta-1.1.0'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    Ensuite, exécutez pod install et ouvrez le fichier .xcworkspace créé.

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

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

3. Initialiser App Check

Dans la méthode didFinishLaunchingWithOptions de votre délégué d'application, appelez GIDSignIn.sharedInstance.configure(completion:). Vous devez appeler cette méthode le plus tôt possible dans le cycle de vie de votre application afin de minimiser la latence perçue par l'utilisateur.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

Étapes suivantes

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

L'application cliente mise à jour commencera à envoyer des jetons App Check avec chaque requête effectuée aux points de terminaison d'authentification de Google. Toutefois, les points de terminaison n'exigeront pas que les jetons soient valides tant que vous n'aurez pas activé l'application forcée dans la section App Check de la console Firebase.

Surveiller les métriques

Toutefois, avant d'activer l'application forcée, vous devez vous assurer que cela n'affectera pas vos utilisateurs légitimes existants. En revanche, si vous constatez une utilisation suspecte des ressources de votre application, vous pouvez activer l'application des règles dès que possible.

Pour vous aider à prendre cette décision, consultez les métriques App Check pour Google Sign-In.

Activer l'application App Check

Lorsque vous comprenez l'impact d'App Check sur 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 l'exécuter dans un environnement qu'App Check ne considérerait normalement pas comme valide, tel qu'un simulateur en cours de développement ou à partir d'un environnement d'intégration continue (CI), vous pouvez créer une version de débogage de votre application qui utilise le fournisseur de débogage App Check au lieu d'App Attest.

Consultez Utiliser App Check avec le fournisseur de débogage.