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

  1. Agrega Firebase a tu proyecto de iOS.

  2. Incluye los siguientes Pods en el Podfile:

    pod 'FirebaseAuth'
    
  3. Ve a la página Proveedores de identidad en la Google Cloud consola.

    Ir a la página Proveedores de identidad

  4. Haz clic en Agregar un proveedor.

  5. Selecciona Facebook en la lista.

  6. 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.

  7. 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/handler a https://auth.myownpersonaldomain.com/__/auth/handler.

  8. Para registrar los dominios de tu app, haz clic en Agregar dominio en Dominios autorizados. Para fines de desarrollo, localhost ya está habilitado de forma predeterminada.

  9. 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.

  10. 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.

  1. 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:

    Swift

    let loginButton = FBSDKLoginButton()
    loginButton.delegate = self

    Objective-C

    FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
    loginButton.delegate = self;
    En el delegado, implementa 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);
      }
    }
  2. Importa el módulo de Firebase en UIApplicationDelegate:

    Swift

    import FirebaseCore
    import FirebaseAuth
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseAuth;
          
  3. Configura una instancia compartida de FirebaseApp, generalmente en el método