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 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 são provenientes do seu app autêntico. O App Check não usa o App Attest para analisar riscos de fraude.
Antes de começar
Verifique se você tem o Xcode 12.5 ou mais recente.
Integre o Login do Google ao seu app iOS usando a biblioteca do Login do Google.
1. Criar o projeto
O App Check pode ser ativado no Google API Console ou no Console do Firebase. Não é necessário ativar nos dois lugares, apenas um é suficiente.
Google API Console
Os requisitos a seguir precisam ser atendidos para ativar o App Check no seu cliente iOS:- É necessário especificar um ID de equipe para seu cliente iOS.
- Não use um caractere curinga no ID do pacote, porque ele pode ser resolvido para mais de um app. Isso significa que o ID do pacote não pode incluir o símbolo de asterisco (*).
Depois de ativar o App Check, você vai começar a ver métricas relacionadas a solicitações OAuth do seu cliente na visualização de edição do cliente OAuth. As solicitações de fontes não verificadas não serão bloqueadas até que você aplique o App Check. As informações na página de monitoramento de métricas podem ajudar você a determinar quando começar a aplicação.
Ao ativar o App Check para seu app iOS, você pode encontrar erros relacionados a esse recurso. Para corrigir esses erros, tente o seguinte:
- Verifique se o ID do pacote e o ID da equipe especificados são válidos.
- Verifique se você não está usando um caractere curinga para o ID do pacote.
Console do Firebase
É preciso 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. Adicione o Firebase ao seu projeto do Google Cloud selecionando-o ao criar um novo projeto no console do Firebase.
Consulte também: Relação entre projetos do Firebase e o Google Cloud
Se ainda não tiver feito isso, adicione seus apps iOS ao projeto do Firebase usando a página Configurações do projeto do console do Firebase.
Registre seus apps para usar o App Check com o provedor App Attest na seção App Check do Console do Firebase.
Verifique se todos os clientes OAuth do seu projeto estão vinculados a um app.
Se você tiver clientes não vinculados, uma mensagem vai aparecer na seção Identidade do Google para iOS da página App Check dizendo: "Você tem n clientes OAuth não vinculados que precisam de configurações adicionais".
Além disso, se você excluiu alguns clientes OAuth depois de configurá-los no App Check, vai aparecer uma mensagem informando que você tem n substituições sem um cliente OAuth correspondente. Você pode limpar com segurança excluindo essas substituições.
É possível vincular clientes desvinculados a um app novo ou existente na página Clientes OAuth do console do Firebase.
2. Adicionar a biblioteca do Login do Google ao app
No seu projeto do Xcode, defina a dependência do Login do Google como a versão
8.0.0
ou mais recente :SPM
Defina a regra de dependência de
googlesignin-ios
como a versão8.0.0
ou mais recente.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','~> 8.0' :git => 'https://github.com/google/GoogleSignIn-iOS.git' pod 'GoogleSignInSwiftSupport' # If you use SwiftUI. end
Em seguida, execute
pod install
e abra o arquivo.xcworkspace
criado.No Xcode, adicione o recurso App Attest ao app.
No arquivo
.entitlements
do projeto, defina o ambiente do App Attest comoproduction
.
3. Inicializar o App Check
No método didFinishLaunchingWithOptions
do delegado do app, chame
GIDSignIn.sharedInstance.configure(completion:)
. Chame esse método
o quanto antes 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 vai começar a enviar tokens do App Check em 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 antes do previsto.
Para tomar essa decisão, analise as métricas do App Check para o Login do Google.
Ativar a aplicação do App Check
Assim que você entender como o App Check vai afetar seus usuários e 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 app que use o provedor de depuração do App Check em vez do App Attest.