Esta página mostra como ativar o App Check em um app iOS. Ao ativar o App Check, você ajuda a garantir que apenas seu app possa acessar os endpoints OAuth 2.0 do Google em nome do seu projeto. Confira a visão geral desse recurso.
O App Check usa o App Attest para verificar se as solicitações do OAuth 2.0 estão vindo do seu aplicativo 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
A verificação de apps pode ser ativada no ou no Console do Firebase. Não é necessário ativar em ambos os lugares, apenas um é suficiente.
Os requisitos a seguir precisam ser atendidos para ativar o App Check no seu cliente iOS:- É necessário especificar um ID de equipe para o cliente iOS.
- Não use um curinga no ID do pacote, porque ele pode ser resolvido em 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 a determinar quando iniciar a aplicação.
Talvez você encontre erros relacionados ao recurso App Check ao ativar o recurso para seu app iOS. 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
É necessário ter um projeto do Firebase para usar a Verificação de app 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 fez isso, adicione seus apps iOS ao projeto do Firebase usando a página Project settings do console do Firebase.
Registre seus apps para usar o App Check com o provedor do App Attest na seção App Check do Console do Firebase.
Confira se todos os clientes OAuth do seu projeto estão vinculados a um app.
Se você tiver clientes desvinculados, uma mensagem vai aparecer na seção Identidade do Google para iOS da página Verificação de app com a mensagem "Você tem n clientes OAuth desvinculados que precisam de configurações adicionais".
Além disso, se você tiver excluído alguns clientes OAuth após a configuração no App Check, vai aparecer a mensagem "Você tem n substituições sem 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 projeto do Xcode, defina a dependência do Login do Google para 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 o
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 representante 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 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 obrigatória 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 emulador 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.