Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Autenticati con Firebase utilizzando account basati su password su iOS

Puoi utilizzare Firebase Authentication per consentire ai tuoi utenti di autenticarsi con Firebase utilizzando i loro indirizzi e-mail e password e per gestire gli account basati su password della tua app.

Prima di iniziare

  1. Aggiungi Firebase al tuo progetto iOS . Includi i seguenti pod nel tuo Podfile :
    pod 'Firebase/Auth'
    
  2. Se non hai ancora collegato la tua app al tuo progetto Firebase, fallo dalla console Firebase .
  3. Abilita accesso e-mail / password:
    1. Nella console Firebase , apri la sezione Autenticazione .
    2. Nella scheda Metodo di accesso , abilita il metodo di accesso tramite e- mail / password e fai clic su Salva .

Crea un account basato su password

Per creare un nuovo account utente con una password, completa i seguenti passaggi nell'attività di accesso della tua app:

  1. Importa il modulo Firebase nella tua UIApplicationDelegate :

    Swift

    import Firebase

    Obiettivo-C

    @import Firebase;
  2. Configura un'istanza condivisa di FirebaseApp , in genere nell'applicazione della tua app application:didFinishLaunchingWithOptions: metodo:

    Swift

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

    Obiettivo-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Quando un nuovo utente si registra utilizzando il modulo di registrazione della tua app, completa tutti i nuovi passaggi di convalida dell'account richiesti dalla tua app, come la verifica che la password del nuovo account sia stata digitata correttamente e soddisfi i tuoi requisiti di complessità.
  4. Crea un nuovo account passando l'indirizzo email e la password del nuovo utente a createUserWithEmail:email:password:completion:

    Swift

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

    Obiettivo-C

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    Se il nuovo account è stato creato correttamente, l'utente ha eseguito l'accesso ed è possibile ottenere i dati dell'account dell'utente dall'oggetto risultato passato al metodo di callback.

Accedi a un utente con un indirizzo email e una password

I passaggi per accedere a un utente con una password sono simili ai passaggi per creare un nuovo account. Nell'attività di accesso della tua app, procedi come segue:

  1. Importa il modulo Firebase nella tua UIApplicationDelegate :

    Swift

    import Firebase

    Obiettivo-C

    @import Firebase;
  2. Configura un'istanza condivisa di FirebaseApp , in genere nell'applicazione della tua app application:didFinishLaunchingWithOptions: metodo:

    Swift

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

    Obiettivo-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Quando un utente signInWithEmail:email:password:completion: alla tua app, passa l'indirizzo email e la password dell'utente a signInWithEmail:email:password:completion:

    Swift

    Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
      guard let strongSelf = self else { return }
      // ...
    }

    Obiettivo-C

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    Se l'utente accede correttamente, è possibile ottenere i dati dell'account dell'utente dall'oggetto risultato passato al metodo di callback.

Prossimi passi

Dopo che un utente accede per la prima volta, viene creato un nuovo account utente e collegato alle credenziali, ovvero il nome utente e la password, il numero di telefono o le informazioni del provider di autenticazione, con cui l'utente ha effettuato l'accesso. Questo nuovo account viene archiviato come parte del progetto Firebase e può essere utilizzato per identificare un utente in ogni app del progetto, indipendentemente da come l'utente effettua l'accesso.

  • Nelle tue app, puoi ottenere le informazioni di base sul profilo FIRUser dall'oggetto FIRUser . Vedi Gestisci utenti .

  • Nelle regole di sicurezza Firebase Realtime Database e Cloud Storage, puoi ottenere l'ID utente univoco dell'utente connesso dalla variabile auth e utilizzarlo per controllare i dati a cui un utente può accedere.

Puoi consentire agli utenti di accedere alla tua app utilizzando più provider di autenticazione collegando le credenziali del provider di autenticazione a un account utente esistente.

Per disconnettere un utente, chiama signOut:

Swift

    let firebaseAuth = Auth.auth()
do {
  try firebaseAuth.signOut()
} catch let signOutError as NSError {
  print ("Error signing out: %@", signOutError)
}
  

Obiettivo-C

    NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];
if (!status) {
  NSLog(@"Error signing out: %@", signOutError);
  return;
}

Potresti anche voler aggiungere il codice di gestione degli errori per l'intera gamma di errori di autenticazione. Vedere Gestione degli errori .