您可以讓使用者利用 Facebook 帳戶向 Firebase 進行驗證 整合 Facebook 登入應用程式。
事前準備
使用前 Firebase Authentication、 請完成下列操作:
註冊 Unity 專案,並將其設定為使用 Firebase。
如果您的 Unity 專案已在使用 Firebase, 已完成註冊和設定程序。
如果您沒有 Unity 專案,可以 範例應用程式。
將 Firebase Unity SDK (特別是
FirebaseAuth.unitypackage
) 新增至 Unity 專案
請注意,將 Firebase 新增至 Unity 專案時,必須一併執行以下兩者的工作: Firebase 控制台,然後在開啟的 Unity 專案中 (例如,您可以從控制台下載 Firebase 設定檔,然後 放入您的 Unity 專案中)。
存取 Firebase.Auth.FirebaseAuth
類別
FirebaseAuth
類別是所有 API 呼叫的閘道,
您可透過 FirebaseAuth.DefaultInstance 存取。
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
透過 Firebase 驗證
- 請參閱 Android 版和 iOS 版的操作說明 取得登入 Facebook 使用者的存取權杖。
- 使用者成功登入後,以
Firebase 憑證,以及使用 Firebase 進行 Firebase 驗證
憑證:
Firebase.Auth.Credential credential = Firebase.Auth.FacebookAuthProvider.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); });
後續步驟
使用者首次登入後,系統會建立新的使用者帳戶 也就是使用者的名稱和密碼 號碼或驗證提供者資訊,也就是使用者登入時使用的網址。這項新功能 帳戶儲存為 Firebase 專案的一部分,可用來識別 即可限制使用者登入專案中的所有應用程式
-
在您的應用程式中,您可以透過
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; }
在你的Firebase Realtime Database和Cloud Storage中 查看安全性規則 透過
auth
變數取得已登入使用者的不重複使用者 ID。 控管使用者可以存取的資料
您可以讓使用者透過多重驗證機制登入您的應用程式 將驗證供應商憑證連結至 現有的使用者帳戶
如要登出使用者,請呼叫
SignOut()
:
auth.SignOut();