Cómo comenzar con Firebase Authentication en iOS

Puedes usar Firebase Authentication para permitir que los usuarios accedan a tu app con uno o más métodos de acceso, que incluyen el acceso con dirección de correo electrónico y contraseña, y proveedores de identidad federada, como Acceso con Google y Acceso con Facebook. Este instructivo te muestra cómo agregar un acceso con dirección de correo electrónico y contraseña a tu app para comenzar con Firebase Authentication.

Conecta tu app a Firebase

  1. Instala el SDK de Firebase.
  2. En Firebase console, agrega tu app al proyecto de Firebase.

Agrega Firebase Authentication a tu proyecto de Xcode

Asegúrate de que la siguiente dependencia se encuentre en el Podfile de tu proyecto:

pod 'Firebase/Auth'

Ejecuta pod install y abre el archivo .xcworkspace creado.

Inicializa el SDK de Firebase

En el delegado de la app, importa en primer lugar el SDK de Firebase:

Swift

import Firebase

Objective-C

@import Firebase;

Luego, en el método application:didFinishLaunchingWithOptions:, inicializa el objeto FirebaseApp:

Swift

// Use Firebase library to configure APIs
FirebaseApp.configure()

Objective-C

// Use Firebase library to configure APIs
[FIRApp configure];

Detecta el estado de autenticación

En cada una de las vistas de tu app que necesitan información sobre el usuario que accedió, adjunta un agente de escucha al objeto FIRAuth. Se llamará a este agente de escucha cada vez que cambie el estado de acceso del usuario.

Adjunta el agente de escucha en el método viewWillAppear del controlador de vista:

Swift

handle = Auth.auth().addStateDidChangeListener { (auth, user) in
  // ...
}

Objective-C

self.handle = [[FIRAuth auth]
    addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
      // ...
    }];

Además, desvincula el agente de escucha del método viewWillDisappear del controlador de vista:

Swift

Auth.auth().removeStateDidChangeListener(handle!)

Objective-C

[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];

Registra usuarios nuevos

Crea un formulario que permita a los usuarios nuevos registrarse en tu app mediante su dirección de correo electrónico y una contraseña. Cuando un usuario complete el formulario, valida la dirección de correo electrónico y la contraseña que proporcionó el usuario para después pasarlas al método createUser:

Swift

Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
  // ...
}

Objective-C

[[FIRAuth auth] createUserWithEmail:email
                           password:password
                         completion:^(FIRUser *_Nullable user, NSError *_Nullable error) {
  // ...
}];

Acceso de usuarios existentes

Crea un formulario que les permita a los usuarios existentes acceder con su dirección de correo electrónico y una contraseña. Cuando un usuario complete el formulario, llama al método signIn:

Swift

Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
  // ...
}

Objective-C

[[FIRAuth auth] signInWithEmail:_emailField.text
                       password:_passwordField.text
                     completion:^(FIRUser *user, NSError *error) {
  // ...
}];

Obtén información del usuario

Cuando un usuario accede correctamente, puedes obtener información sobre él. Por ejemplo, en el agente de escucha del estado de autenticación:

Swift

if let user = user {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  let uid = user.uid
  let email = user.email
  let photoURL = user.photoURL
  // ...
}

Objective-C

if (user) {
  // The user's ID, unique to the Firebase project.
  // Do NOT use this value to authenticate with your backend server,
  // if you have one. Use getTokenWithCompletion:completion: instead.
  NSString *uid = user.uid;
  NSString *email = user.email;
  NSURL *photoURL = user.photoURL;
  // ...
}

Pasos siguientes

Obtén información sobre cómo admitir otros proveedores de identidad y cuentas de invitado anónimas:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.