En esta página, se muestra cómo habilitar la Verificación de aplicaciones en una app para iOS. Cuando habilitas la Verificación de aplicaciones, ayudas a garantizar que solo la app pueda acceder a los extremos de OAuth 2.0 de Google en nombre de tu proyecto. Consulta una descripción general de esta función.
La Verificación de aplicaciones usa App Attest para verificar que las solicitudes de OAuth 2.0 provengan de la app auténtica. La Verificación de aplicaciones no usa App Attest para analizar riesgos de fraude.
Antes de comenzar
Asegúrate de tener Xcode 12.5 o una versión posterior.
Integra el Acceso con Google en tu app para iOS con la biblioteca de Acceso con Google.
1. Configura tu proyecto
Puedes habilitar App Check en o en Firebase console. No es necesario habilitarlo en ambos lugares, con uno es suficiente.
Se deben cumplir los siguientes requisitos para habilitar correctamente la Verificación de aplicaciones para tu cliente de iOS:- Debes especificar un ID de equipo para tu cliente para iOS.
- No debes usar un comodín en el ID del paquete, ya que puede resolverse en más de una app. Esto significa que el ID del paquete no debe incluir el símbolo de asterisco (*).
Después de habilitar la Verificación de aplicaciones, comenzarás a ver métricas relacionadas con las solicitudes de OAuth de tu cliente en la vista de edición del cliente de OAuth. Las solicitudes de fuentes no verificadas no se bloquearán hasta que apliques la Verificación de aplicaciones. La información de la página de supervisión de métricas puede ayudarte a determinar cuándo comenzar la aplicación forzosa.
Es posible que veas errores relacionados con la función de Verificación de apps cuando habilites esta función para tu app para iOS. Para solucionar estos errores, haz lo siguiente:
- Verifica que el ID del paquete y el ID del equipo que especificaste sean válidos.
- Verifica que no uses un comodín para el ID del paquete.
Firebase console
Debes tener un proyecto de Firebase para usar la Verificación de apps con el Acceso con Google.
Si tu app ya usa Firebase, usa el mismo proyecto.
Si tu app usa el Acceso con Google, pero no Firebase, ya tienes un proyecto de Google Cloud. Agrega Firebase a tu proyecto de Google Cloud. Para ello, selecciónalo cuando crees un proyecto nuevo en Firebase console.
Consulta también: Relación entre los proyectos de Firebase y Google Cloud
Si aún no lo has hecho, agrega tus apps para iOS a tu proyecto de Firebase mediante la página Configuración del proyecto de Firebase console.
Registra tus apps para que usen la Verificación de aplicaciones mediante el proveedor de App Attest en la sección Verificación de aplicaciones de Firebase console.
Asegúrate de que todos los clientes de OAuth de tu proyecto estén vinculados a una app.
Si tienes clientes sin vincular, verás un mensaje en la sección Identidad de Google para iOS de la página Verificación de apps que dice: "Tienes n clientes de OAuth sin vincular que requieren una configuración adicional".
Además, si borraste algunos clientes de OAuth después de configurarlos en Verificación de aplicaciones, verás un mensaje que dice "Tienes n anulaciones que no coinciden con ningún cliente de OAuth". Puedes borrar esas anulaciones para limpiar de forma segura.
Puedes vincular clientes desvinculados a una app existente o nueva en la página Clientes de OAuth de Firebase console.
2. Agrega la biblioteca de Acceso con Google a tu app
En tu proyecto de Xcode, establece la dependencia de Acceso con Google en la versión
8.0.0
o una posterior :SPM
Establece la regla de dependencia de
googlesignin-ios
en la versión8.0.0
o una posterior.CocoaPods
Actualiza tu
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
Luego, ejecuta
pod install
y abre el archivo.xcworkspace
creado.En Xcode, agrega la función de App Attest a la app.
En el archivo
.entitlements
de tu proyecto, configura el entorno de App Attest comoproduction
.
3. Inicializa la Verificación de aplicaciones
En el método didFinishLaunchingWithOptions
del delegado de tu app, llama a
GIDSignIn.sharedInstance.configure(completion:)
. Debes llamar a este método lo antes posible en el ciclo de vida de tu app para minimizar la latencia percibida por el usuario.
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óximos pasos
Una vez que esté instalada la biblioteca de la Verificación de aplicaciones en la app, comienza a distribuir la app actualizada a tus usuarios.
La app cliente actualizada comenzará a enviar tokens de la Verificación de aplicaciones junto con cada solicitud que realice a los extremos de autenticación de Google, pero los extremos no requerirán que los tokens sean válidos hasta que habilites la aplicación forzosa en la sección de la Verificación de aplicaciones de Firebase console.
Supervisa las métricas
Sin embargo, antes de habilitar la aplicación forzosa, debes asegurarte de que esto no interrumpa a tus usuarios legítimos existentes. Por otro lado, si ves un uso sospechoso de los recursos de tu app, te convendrá habilitar la aplicación más pronto.
Para ayudarte a tomar esta decisión, puedes consultar las métricas de la Verificación de aplicaciones para el Acceso con Google.
Habilita la aplicación forzosa de la Verificación de aplicaciones
Cuando comprendas cómo la Verificación de aplicaciones afectará a los usuarios y tengas todo listo para continuar, puedes habilitar la aplicación forzosa de la Verificación de aplicaciones.
Usa la Verificación de aplicaciones en entornos de depuración
Si, después de registrar tu app en la Verificación de aplicaciones, quieres ejecutarla en un entorno que la Verificación de aplicaciones no clasificaría como válido, como un emulador durante el desarrollo o desde un entorno de integración continua (CI), puedes crear una compilación de depuración de la app que use el proveedor de depuración de la Verificación de aplicaciones en lugar de App Attest.
Consulta Usa la Verificación de aplicaciones mediante el proveedor de depuración.