Możesz umożliwić użytkownikom uwierzytelnianie w Firebase za pomocą ich kont na Twitterze, integrując funkcję Zaloguj się przez Twittera ze swoją aplikacją.
Zanim zaczniesz
Zanim zaczniesz korzystać z Uwierzytelniania Firebase, musisz:
Zarejestruj projekt Unity i skonfiguruj go pod kątem korzystania z Firebase.
Jeśli Twój projekt w Unity korzysta już z Firebase, oznacza to, że został zarejestrowany i skonfigurowany pod kątem Firebase.
Jeśli nie masz projektu w Unity, możesz pobrać przykładową aplikację.
Dodaj pakiet SDK Firebase Unity (a konkretnie
FirebaseAuth.unitypackage
) do projektu Unity.
Pamiętaj, że dodanie Firebase do projektu Unity wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie Unity (np. musisz pobrać z konsoli pliki konfiguracyjne Firebase, a następnie przenieść je do projektu Unity).
Uzyskaj dostęp do zajęć Firebase.Auth.FirebaseAuth
Klasa FirebaseAuth
jest bramą dla wszystkich wywołań interfejsu API.
Jest dostępna przez FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Uwierzytelnij za pomocą Firebase
- Wykonaj instrukcje logowania się przez Twittera, aby uzyskać token dostępu OAuth i tajny klucz OAuth.
- Gdy użytkownik się zaloguje, wymień token dostępu na dane logowania Firebase i uwierzytelnij się w Firebase za pomocą danych logowania Firebase:
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); });
Następne kroki
Gdy użytkownik loguje się po raz pierwszy, tworzone jest nowe konto użytkownika, które jest łączone z danymi logowania (nazwa użytkownika i hasło, numer telefonu lub informacje o dostawcy uwierzytelniania). Nowe konto jest przechowywane w ramach Twojego projektu Firebase i może być używane do identyfikowania użytkowników we wszystkich aplikacjach w Twoim projekcie niezależnie od tego, jak się on loguje.
-
W swoich aplikacjach możesz uzyskać podstawowe informacje o profilu użytkownika z obiektu
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; }
W regułach zabezpieczeń Bazy danych czasu rzeczywistego Firebase i Cloud Storage możesz pobrać ze zmiennej
auth
unikalny identyfikator użytkownika zalogowanego użytkownika i użyć go do kontrolowania, do jakich danych użytkownik ma dostęp.
Możesz zezwolić użytkownikom na logowanie się w aplikacji przy użyciu różnych dostawców uwierzytelniania, łącząc dane logowania dostawcy uwierzytelniania z istniejącym kontem użytkownika.
Aby wylogować użytkownika, wywołaj
SignOut()
:
auth.SignOut();