با استفاده از حساب های مبتنی بر رمز عبور با استفاده از Unity با Firebase احراز هویت کنید

می توانید از احراز هویت Firebase استفاده کنید تا به کاربران اجازه دهید با استفاده از آدرس های ایمیل و گذرواژه های خود با Firebase احراز هویت کنند و حساب های مبتنی بر رمز برنامه شما را مدیریت کنند.

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

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

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

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

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

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

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

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

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

یک حساب مبتنی بر رمز عبور ایجاد کنید

برای ایجاد یک حساب کاربری جدید با رمز عبور ، مراحل زیر را در کد ورود به سیستم برنامه خود انجام دهید:

  1. هنگامی که کاربر جدیدی با استفاده از فرم ثبت نام برنامه شما ثبت نام می کند ، مراحل اعتبارسنجی حساب جدیدی را که برنامه شما نیاز دارد انجام دهید ، مانند تأیید اینکه رمز عبور جدید به درستی تایپ شده است و الزامات پیچیدگی شما را برآورده می کند.
  2. ایجاد یک حساب کاربری جدید با عبور از آدرس ایمیل کاربر جدید و رمز عبور برای FirebaseAuth.CreateUserWithEmailAndPassword :
    auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      // Firebase user has been created.
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("Firebase user created successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

با یک آدرس ایمیل و رمز عبور وارد یک کاربر شوید

مراحل ورود به سیستم با یک رمز عبور مشابه مراحل ایجاد یک حساب جدید است. در عملکرد ورود به سیستم برنامه خود ، موارد زیر را انجام دهید:

  1. هنگامی که کاربری به برنامه خود، آدرس ایمیل کاربر و رمز عبور تصویب به FirebaseAuth.SignInWithEmailAndPassword :
    auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    
  2. : شما همچنین می توانید اعتبار و نشانه ای در گردش مانند دیگر ایجاد
    Firebase.Auth.Credential credential =
        Firebase.Auth.EmailAuthProvider.GetCredential(email, password);
    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();