با ادغام «ورود به سیستم Facebook» در برنامهتان، میتوانید به کاربران اجازه دهید بااستفاده از حسابهای Facebook خود با Firebase اصالتسنجی کنند.
قبل از شروع
پیشاز اینکه بتوانید از Firebase Authentication استفاده کنید، باید:
پروژه Unity خود را ثبت کنید و آن را برای استفاده از Firebase پیکربندی کنید.
اگر پروژه Unity شما ازقبل از Firebase استفاده میکند، پس ازقبل برای 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دریافت کنید و از آن برای کنترل دادههایی که کاربر میتواند به آنها دسترسی داشته باشد استفاده کنید.
میتوانید به کاربران اجازه دهید با پیوند دادن اطلاعات اعتباری ارائهدهنده اصالتسنجی به حساب کاربری موجود بااستفاده از چندین ارائهدهنده اصالتسنجی به سیستم برنامهتان وارد شوند.
برای خروج از سیستم کاربر،
SignOut() را فراخوانی کنید:
auth.SignOut();