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

Cette page explique comment activer App Check dans une application iOS. Lorsque vous activez l'application Cochez cette case pour vous assurer que seule votre application peut accéder au protocole OAuth 2.0 de Google pour le compte de votre projet. Consultez une présentation de cette fonctionnalité.

App Check utilise App Attest pour vérifier qu'OAuth 2.0 proviennent de votre application authentique. App Check n'utilise pas App Attest pour analyser le risque de fraude.

Avant de commencer

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

  2. Intégrez 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 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 via la page Paramètres du projet de la console Firebase.

  3. Enregistrez vos applications pour utiliser App Check avec le fournisseur App Attest dans le section App Check de la console Firebase.

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

    Si certains de vos clients sont dissociés, un message s'affiche dans le champ Google pour iOS de la page App Check qui indique : Vous avez n clients OAuth dissociés nécessitant une configuration supplémentaire.

    De plus, si vous avez supprimé certains clients OAuth après les avoir configurés dans App Check, le message Vous avez n sans client OAuth correspondant. Vous pouvez nettoyer en toute sécurité en en supprimant ces remplacements.

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

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

  1. Dans votre projet Xcode, définissez la dépendance Google Sign-in sur "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 l'application mise à jour à vos utilisateurs.

L'application cliente mise à jour commencera à envoyer les jetons App Check à chaque envoyée aux points de terminaison d'authentification de Google, exigent que les jetons soient valides jusqu'à ce que vous activiez l'application dans App Check de la console Firebase.

Surveiller les métriques

Toutefois, avant d'activer l'application, vous devez vous assurer que cela de perturber vos utilisateurs légitimes existants. D'un autre côté, si vous voyez en cas d'utilisation suspecte de vos ressources d'application, vous pouvez plus vite.

Pour vous aider à prendre cette décision, vous pouvez consulter Métriques App Check pour Google Sign-In

Activer l'application App Check

Une fois que vous avez compris l'impact d'App Check sur vos utilisateurs et que vous êtes prêt à vous pouvez activer 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ère normalement pas comme valide, comme pendant le développement ou depuis 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.