Comece a usar o App Check para o Login do Google no iOS

Nesta página, mostramos como ativar o App Check em um app iOS. Ao fazer isso, você ajuda a garantir que apenas seu app possa acessar os endpoints do OAuth 2.0 do Google em nome do seu projeto. Consulte a Visão geral desse recurso.

O App Check usa o App Attest para ajudar a verificar se as solicitações do OAuth 2.0 estão vindo do seu app autêntico. O App Check não usa o App Attest para analisar o risco de fraudes.

Antes de começar

  1. Verifique se você tem o Xcode 12.5 ou mais recente.

  2. Integre o Login do Google no seu app iOS usando a biblioteca do Login do Google.

1. Configurar seu projeto

  1. Você precisa ter um projeto do Firebase para usar o App Check com o Login do Google.

    • Se o app já usa o Firebase, use o mesmo projeto.

    • Se o app usa o Login do Google, mas não o Firebase, você já tem um projeto do Google Cloud. Para adicionar o Firebase ao seu projeto do Google Cloud, selecione-o ao criar um novo projeto no Console do Firebase.

    Consulte também: Relação entre projetos do Firebase e o Google Cloud

  2. Adicione seus apps para iOS ao projeto do Firebase usando a página Configurações do projeto no Console do Firebase, caso ainda não tenha feito isso.

  3. Registre seus apps para usar o App Check com o provedor App Attest na seção App Check do Console do Firebase.

  4. Verifique se todos os clientes OAuth do seu projeto estão vinculados a um app.

    Se tiver clientes desvinculados, você verá uma mensagem na seção Google Identity para iOS da página do App Check que diz: Você tem n clientes OAuth desvinculados que exigem configuração adicional.

    Além disso, se você tiver excluído alguns clientes OAuth após a configuração no App Check, vai aparecer uma mensagem dizendo: Você tem n substituições sem cliente OAuth correspondente. Você pode fazer uma limpeza com segurança excluindo essas substituições.

    É possível vincular clientes desvinculados a um app atual ou novo na página Clientes OAuth do Console do Firebase.

2. Adicionar a biblioteca Beta do Login do Google ao seu app

  1. No projeto do Xcode, defina a dependência do Login do Google para a versão 7.1.0-fac-beta-1.1.0:

    GPE

    Defina a regra de dependência de googlesignin-ios para a versão exata: 7.1.0-fac-beta-1.1.0.

    CocoaPods

    Atualize seu 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
    

    Em seguida, execute pod install e abra o arquivo .xcworkspace criado.

  2. No Xcode, adicione o recurso App Attest ao app.

  3. No arquivo .entitlements do projeto, defina o ambiente do App Attest como production.

3. Inicializar o App Check

No método didFinishLaunchingWithOptions do delegado do app, chame GIDSignIn.sharedInstance.configure(completion:). Chame esse método o mais cedo possível no ciclo de vida do app para minimizar a latência percebida pelo usuário.

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

  // ...
}

Próximas etapas

Depois que a biblioteca do App Check estiver instalada no seu app, comece a distribuir o app atualizado para os usuários.

O app cliente atualizado começará a enviar tokens do App Check com todas as solicitações feitas aos endpoints de autenticação do Google, mas os endpoints não exigirão que os tokens sejam válidos até que você ative a aplicação obrigatória na seção "App Check" do Console do Firebase.

Monitorar as métricas

Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. Por outro lado, se você perceber um uso suspeito dos recursos do seu app, convém ativar a aplicação obrigatória o quanto antes.

Para tomar essa decisão, consulte as métricas do App Check para o Login do Google.

Ativar a aplicação obrigatória do App Check

Assim que você entender como o App Check vai afetar seus usuários, e se estiver tudo pronto para seguir o processo, ative a aplicação do App Check.

Usar o App Check em ambientes de depuração

Se, depois de registrar seu app no App Check, você quiser executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como um simulador durante o desenvolvimento ou em um ambiente de integração contínua (CI), crie um build de depuração do seu app que use o provedor de depuração do App Check em vez do App Attest.

Consulte Usar o App Check com o provedor de depuração.