با استفاده از GitHub و Unity احراز هویت شوید

با ادغام احراز هویت GitHub در برنامه خود ، می توانید به کاربران خود اجازه دهید با Firebase با استفاده از حساب های GitHub خود احراز هویت کنند.

قبل از اینکه شروع کنی

قبل از اینکه شما می توانید استفاده کنید فایربیس احراز هویت ، شما نیاز به:

  • پروژه Unity خود را ثبت کرده و پیکربندی کنید تا از Firebase استفاده کند.

    • اگر پروژه Unity شما قبلاً از Firebase استفاده می کند ، قبلاً برای Firebase ثبت شده و پیکربندی شده است.

    • اگر شما یک پروژه وحدت را نداشته باشند، شما می توانید یک دانلود برنامه نمونه .

  • اضافه کردن فایربیس وحدت SDK (به طور خاص، FirebaseAuth.unitypackage ) به طرح وحدت خود را.

توجه داشته باشید که اضافه کردن فایربیس به پروژه وحدت خود را شامل وظایف هر دو در فایربیس کنسول و در پروژه های وحدت باز خود را (به عنوان مثال، شما دانلود فایل های پیکربندی فایربیس از کنسول، و سپس حرکت آنها را در پروژه وحدت خود را).

دسترسی به Firebase.Auth کلاس

FirebaseAuth کلاس دروازه برای همه تماس API است. آن را از طریق دسترسی است FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

احراز هویت با Firebase

  1. دستورالعمل ها را برای دنبال آندروید و iOS را به یک نشانه برای کاربر در هنگام حضور در گیتهاب.
  2. پس از یک کاربر با موفقیت علائم در، تبادل نشانه دسترسی برای یک اعتبار فایربیس و اعتبار با Firebase با استفاده از فایربیس اعتبار:
    Firebase.Auth.Credential credential =
        Firebase.Auth.GitHubAuthProvider.GetCredential(accessToken);
    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;
    }
    
  • در خود پایگاه فایربیس بیدرنگ و ابر ذخیره سازی قوانین امنیتی ، شما می توانید دریافت امضا در شناسه کاربری منحصر به فرد کاربر را از auth متغیر، و استفاده از آن برای کنترل آنچه داده دسترسی کاربر می تواند.

شما می توانید اجازه به کاربران برای ورود به سیستم برنامه خود را با استفاده از ارائه دهندگان تأیید هویت چندگانه توسط ارتباط تایید اعتبار ارائه دهنده به یک حساب کاربری موجود.

برای خروج از سیستم یک کاربر، پاسخ SignOut() :

auth.SignOut();