Primeiros passos com o Firebase Authentication no iOS

Use o Firebase Authentication para permitir que os usuários façam login no seu app com um ou mais métodos de login, inclusive login com endereço de e-mail e senha, além de provedores de identidade federados como o Login do Google e do Facebook. Veja neste tutorial os primeiros passos com o Firebase Authentication e como adicionar no seu app um login com endereço de e-mail e senha.

Conectar seu app ao Firebase

  1. Instale o SDK do Firebase.
  2. No Firebase console, adicione seu app ao projeto do Firebase.

Adicionar o Firebase Authentication ao seu projeto no XCode

Primeiro, verifique se as seguintes dependências estão no Podfile do projeto:

pod 'Firebase/Core'
pod 'Firebase/Auth'

Execute pod install e abra o arquivo .xcworkspace criado.

Inicializar o SDK do Firebase

No representante do seu app, primeiro importe o SDK do Firebase:

Swift

import Firebase

Objective-C

@import Firebase;

Depois, inicialize o objeto FirebaseApp no método application:didFinishLaunchingWithOptions::

Swift

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

Objective-C

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

Detectar o estado de autenticação

Para cada visualização do seu app que precisar de informações sobre o usuário conectado, anexe um listener ao objeto FIRAuth. Esse listener é chamado sempre que o estado de login do usuário muda.

Anexe o listener no método viewWillAppear do controlador de visualizações:

Swift

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

Objective-C

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

E desanexe o listener no método viewWillDisappear do controlador de visualizações:

Swift

Auth.auth().removeStateDidChangeListener(handle!)

Objective-C

[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];

Inscrever novos usuários

Crie um formulário que permita que novos usuários se inscrevam no seu app usando endereço de e-mail e senha. Quando um usuário completar o formulário, valide o endereço de e-mail e a senha informados e envie-os para o método createUser:

Swift

Auth.auth().createUser(withEmail: email, password: password) { (authResult, error) in
  // ...
  guard let user = authResult?.user else { return }
}

Objective-C

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

Inscrever usuários existentes

Crie um formulário que permita que novos usuários se inscrevam no seu app usando endereço de e-mail e senha. Quando um usuário preencher o formulário, chame o método signIn:

Swift

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

Objective-C

[[FIRAuth auth] signInWithEmail:self->_emailField.text
                       password:self->_passwordField.text
                     completion:^(FIRAuthDataResult * _Nullable authResult,
                                  NSError * _Nullable error) {
  // ...
}];

Receber informações do usuário

Depois que um usuário fizer login com sucesso, você pode receber informações sobre ele. Por exemplo, no seu listener de estado de autenticação:

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;
  // ...
}

Próximas etapas

Saiba como adicionar suporte para outros provedores de identidade e contas de convidados anônimos:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.