Você pode permitir que os usuários façam autenticações com o Firebase usando contas do Twitter ao integrar o login do Twitter ao app.
Antes de começar
Antes de usar o Firebase Authentication, você precisa:
registrar seu projeto do Unity e configurá-lo para usar o Firebase.
Se o projeto do Unity já usa o Firebase, ele já está registrado e configurado para essa plataforma.
Se você não tiver um projeto do Unity, faça o download de um app de exemplo.
Adicione o SDK do Firebase para Unity (especificamente
FirebaseAuth.unitypackage) ao seu projeto do Unity.
Adicionar o Firebase ao projeto do Unity envolve tarefas no console do Firebase e no projeto aberto do Unity (por exemplo, baixar os arquivos de configuração do Firebase no console e movê-los para o projeto do Unity).
Acessar a classe Firebase.Auth.FirebaseAuth
A classe FirebaseAuth é o gateway para todas as chamadas de API.
Ela pode ser acessada por meio de FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Como autenticar com o Firebase
- Siga as instruções para Fazer login com o Twitter (em inglês) para receber um token de acesso OAuth e um secret OAuth.
- Depois que um usuário fizer login, troque o token de acesso por uma credencial do Firebase e faça a autenticação com ela:
Firebase.Auth.Credential credential = Firebase.Auth.TwitterAuthProvider.GetCredential(accessToken, secret); auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception); return; } Firebase.Auth.AuthResult result = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", result.User.DisplayName, result.User.UserId); });
Próximas etapas
Depois que um usuário faz login pela primeira vez, uma nova conta de usuário é criada e vinculada às credenciais, que podem ser o número do telefone, o nome de usuário e a senha ou as informações do provedor de autenticação. Essa nova conta é armazenada como parte do projeto do Firebase e pode ser usada para identificar um usuário em todos os apps do projeto, seja qual for o método de login utilizado.
-
Nos seus apps, use o objeto
Firebase.Auth.FirebaseUserpara receber as informações básicas de perfil do usuário.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 Firebase Realtime Database e Cloud Storage, você pode acessar o ID exclusivo do usuário conectado pela variável
authe usar essas informações para controlar quais dados um usuário pode acessar.
Os usuários podem fazer login no app usando vários provedores de autenticação. Basta vincular as credenciais desses provedores a uma conta de usuário.
Para desconectar um usuário, chame
SignOut():
auth.SignOut();