O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Autenticar usando o Login e Unity do Google

Você pode permitir que seus usuários se autentiquem no Firebase usando suas Contas do Google integrando o Login do Google ao seu aplicativo.

Antes de você começar

Antes de usar o Firebase Authentication , você precisa:

  • Registre seu projeto do Unity e configure-o para usar o Firebase.

    • Se seu projeto do Unity já usa o Firebase, ele já está registrado e configurado para o Firebase.

    • Se você não tiver um projeto do Unity, poderá baixar um aplicativo de exemplo .

  • Adicione o SDK do Firebase Unity (especificamente, FirebaseAuth.unitypackage ) ao seu projeto do Unity.

Observe que adicionar o Firebase ao seu projeto do Unity envolve tarefas no console do Firebase e no seu projeto do Unity aberto (por exemplo, você faz o download dos arquivos de configuração do Firebase do console e os move para o seu projeto do Unity).

Acesse a classe Firebase.Auth.FirebaseAuth

A classe FirebaseAuth é o gateway para todas as chamadas de API. Ele pode ser acessado por meio de FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

Autenticar com o Firebase

  1. Siga as instruções para Android e iOS+ para obter um token de ID para o login do Google.
  2. Depois que um usuário fizer login, troque o token de acesso por uma credencial do Firebase e autentique-se no Firebase usando a credencial do Firebase:
    Firebase.Auth.Credential credential =
        Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);
    auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

Próximos passos

Depois que um usuário entra pela primeira vez, uma nova conta de usuário é criada e vinculada às credenciais, ou seja, o nome de usuário e a senha, o número de telefone ou as informações do provedor de autenticação com as quais o usuário fez login. Essa nova conta é armazenada como parte do seu projeto do Firebase e pode ser usada para identificar um usuário em todos os aplicativos do projeto, independentemente de como o usuário faça login.

  • Nos seus aplicativos, você pode obter as informações básicas do perfil do usuário no objeto Firebase.Auth.FirebaseUser :

    Firebase.Auth.FirebaseUser user = auth.CurrentUser;
    if (user != null) {
      string name = user.DisplayName;
      string email = user.Email;
      System.Uri photo_url = user.PhotoUrl;
      // 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 User.TokenAsync() instead.
      string uid = user.UserId;
    }
    
  • Nas regras de segurança do Firebase Realtime Database e do Cloud Storage , você pode obter o ID de usuário exclusivo do usuário conectado a partir da variável de auth e usá-lo para controlar quais dados um usuário pode acessar.

Você pode permitir que os usuários façam login no seu aplicativo usando vários provedores de autenticação vinculando as credenciais do provedor de autenticação a uma conta de usuário existente.

Para desconectar um usuário, chame SignOut() :

auth.SignOut();