Catch up on everthing we announced at this year's Firebase Summit. Learn more

使用 Twitter 和 Unity 進行身份驗證

您可以通過將使用 Twitter 登錄集成到您的應用中,讓您的用戶使用他們的 Twitter 帳戶通過 Firebase 進行身份驗證。

在你開始之前

之前,你可以用火力地堡認證,您需要:

  • 註冊您的 Unity 項目並將其配置為使用 Firebase。

    • 如果您的 Unity 項目已經使用 Firebase,那麼它已經為 Firebase 註冊和配置。

    • 如果你沒有一個統一的項目,你可以下載一個示例應用程序

  • 添加火力地堡統一SDK (具體FirebaseAuth.unitypackage )到您的統一項目。

注意添加火力地堡到您的統一項目涉及雙方的任務火力地堡控制台並在打開的統一的項目(例如,您從控制台下載火力地堡的配置文件,然後將其移動到您的統一項目)。

進入Firebase.Auth.FirebaseAuth

FirebaseAuth類是所有API調用的網關。它通過為accessable FirebaseAuth.DefaultInstance
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

使用 Firebase 進行身份驗證

  1. 按照相關說明與Twitter登錄獲取OAuth訪問令牌和OAuth的秘密。
  2. 當用戶在成功的跡象,互換信物的火力地堡憑據訪問,並驗證使用火力地堡火力地堡的憑據:
    Firebase.Auth.Credential credential =
        Firebase.Auth.TwitterAuthProvider.GetCredential(accessToken, secret);
    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);
    });
    

下一步

用戶首次登錄後,將創建一個新用戶帳戶並將其鏈接到用戶登錄時使用的憑據(即用戶名和密碼、電話號碼或身份驗證提供商信息)。這個新帳戶作為 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;
    }
    
  • 在你的火力地堡實時數據庫和雲存儲安全規則,你可以得到簽署的,從用戶的唯一的用戶ID auth的變量,並用它來控制哪些數據的用戶可以訪問。

您可以允許用戶通過使用多個身份驗證提供登錄到您的應用程序連接身份驗證提供憑據到現有的用戶帳戶。

要註銷用戶,調用SignOut()

auth.SignOut();