Permite que los usuarios accedan con Facebook en iOS
Puedes permitir que tus usuarios se autentiquen con Identity Platform mediante sus cuentas de Facebook si integras el Acceso con Facebook o el Acceso limitado a Facebook en tu app. En esta página, se muestra cómo usar Identity Platform a fin de agregar el Acceso con Facebook a tu app para iOS.
Antes de comenzar
Incluye los siguientes Pods en el
Podfile:pod 'FirebaseAuth'Ve a la página Proveedores de identidad en la Google Cloud consola.
Haz clic en Agregar un proveedor.
Selecciona Facebook en la lista.
Ingresa el ID de la aplicación de Facebook y el secreto de la aplicación. Si aún no tienes un ID y un secreto, puedes obtener uno de la página de Facebook para desarrolladores.
Configura el URI que se enumera en Configura Facebook como un URI de redireccionamiento de OAuth válido para tu app de Facebook. Si configuraste un dominio personalizado en Identity Platform, actualiza el URI de redireccionamiento en la configuración de tu app de Facebook para usar el dominio personalizado en lugar del predeterminado. Por ejemplo, cambia
https://myproject.firebaseapp.com/__/auth/handlerahttps://auth.myownpersonaldomain.com/__/auth/handler.Para registrar los dominios de tu app, haz clic en Agregar dominio en Dominios autorizados. Para fines de desarrollo,
localhostya está habilitado de forma predeterminada.En Configura tu aplicación, haz clic en Detalles de la configuración. Copia el fragmento en el código de tu app para inicializar el SDK de cliente de Identity Platform.
Haz clic en Guardar.
Implementa el Acceso con Facebook
Para usar el Acceso con Facebook “clásico”, completa los siguientes pasos. También puedes usar el Acceso limitado a Facebook, como se muestra en la siguiente sección.
- Para integrar el servicio de Acceso con Facebook en la app, sigue las indicaciones que se brindan en la documentación para desarrolladores. Cuando inicialices el objeto
FBSDKLoginButton, configura un delegado que reciba los eventos de acceso y salida. Por ejemplo:En el delegado, implementaSwift
let loginButton = FBSDKLoginButton() loginButton.delegate = self
Objective-C
FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init]; loginButton.delegate = self;
didCompleteWithResult:error:.Swift
func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) { if let error = error { print(error.localizedDescription) return } // ... }
Objective-C
- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error { if (error == nil) { // ... } else { NSLog(error.localizedDescription); } }
- Importa el módulo de Firebase en
UIApplicationDelegate:Swift
import FirebaseCore import FirebaseAuth
Objective-C
@import FirebaseCore; @import FirebaseAuth;
- Configura una
instancia compartida
de
FirebaseApp, generalmente en el método