Puoi consentire ai tuoi utenti di eseguire l'autenticazione con Firebase utilizzando i loro account GitHub integrando l'autenticazione GitHub nella tua app.
Prima di iniziare
Prima di poter utilizzare Firebase Authentication, devi:
Registra il tuo progetto Unity e configuralo per utilizzare Firebase.
Se il tuo progetto Unity utilizza già Firebase, è già registrati e configurati per Firebase.
Se non hai un progetto Unity, puoi scaricare un'app di esempio.
Aggiungi l'SDK Firebase Unity (nello specifico,
FirebaseAuth.unitypackage
) a del tuo progetto Unity.
Tieni presente che l'aggiunta di Firebase al progetto Unity comporta attività sia nella console Firebase sia nel progetto Unity aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel progetto Unity).
Accedere al corso Firebase.Auth
La classe FirebaseAuth
è il gateway per tutte le chiamate API.
È accessibile tramite FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Esegui l'autenticazione con Firebase
- Segui le istruzioni per Android e iOS+. per ottenere un token per l'utente GitHub che ha eseguito l'accesso.
- Dopo che un utente ha eseguito l'accesso, scambia il token di accesso con un
la credenziale Firebase ed esegui l'autenticazione con Firebase
credenziale:
Firebase.Auth.Credential credential = Firebase.Auth.GitHubAuthProvider.GetCredential(accessToken); 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); });
Passaggi successivi
Dopo che un utente ha eseguito l'accesso per la prima volta, viene creato un nuovo account utente e collegato alle credenziali, ovvero nome utente e password, numero di telefono o informazioni del fornitore di autenticazione, con cui l'utente ha eseguito l'accesso. Questo nuovo account viene archiviato nel tuo progetto Firebase e può essere utilizzato per identificare un utente in tutte le app del progetto, indipendentemente da come accede.
-
Nelle tue app puoi ottenere le informazioni di base del profilo dell'utente dal Oggetto
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; }
Nelle Regole di sicurezza Firebase Realtime Database e Cloud Storage, puoi recuperare l'ID utente univoco dell'utente che ha eseguito l'accesso dalla variabile
auth
e utilizzarlo per controllare a quali dati può accedere un utente.
Puoi consentire agli utenti di accedere alla tua app utilizzando più autenticazioni collegando le credenziali del provider di autenticazione a un a un account utente esistente.
Per scollegare un utente, chiama
SignOut()
:
auth.SignOut();