با استفاده از JavaScript به طور ناشناس با Firebase احراز هویت شوید

می توانید از احراز هویت Firebase برای ایجاد و استفاده از حساب های ناشناس موقت برای احراز هویت با Firebase استفاده کنید. از این حسابهای ناشناس موقت می توان استفاده کرد تا به کاربرانی که هنوز در برنامه شما ثبت نام نکرده اند اجازه دهند با داده های محافظت شده توسط قوانین امنیتی کار کنند. اگر یک کاربر ناشناس تصمیم می گیرد به ثبت نام برای برنامه خود را، شما می توانید ورود به سیستم خود اعتبار به حساب ناشناس پیوند به طوری که آنها می توانند به کار با داده های حفاظت شده خود در جلسات آینده ادامه خواهد داد.

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

  1. اضافه کردن فایربیس به پروژه جاوا اسکریپت خود را .
  2. اگر هنوز برنامه خود را متصل به پروژه فایربیس شما نیست، انجام این کار از کنسول فایربیس .
  3. نوشتن ناشناس را فعال کنید:
    1. در فایربیس کنسول ، باز کردن بخش تایید.
    2. بر روی ثبت نام در روش صفحه، فعال کردن ناشناس ورود به سیستم روش.

با Firebase به صورت ناشناس احراز هویت کنید

هنگامی که کاربر خارج از سیستم از ویژگی برنامه ای استفاده می کند که نیاز به احراز هویت با Firebase دارد ، با انجام مراحل زیر ، کاربر را به صورت ناشناس وارد کنید:

  1. تماس با signInAnonymously روش:

    نسخه وب 9

    import { getAuth, signInAnonymously } from "firebase/auth";
    
    const auth = getAuth();
    signInAnonymously(auth)
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ...
      });

    نسخه وب 8

    firebase.auth().signInAnonymously()
      .then(() => {
        // Signed in..
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });
    این جایی است که می توانید خطاها را بگیرید و مدیریت کنید. برای یک لیست از کدهای خطا یک نگاه در اسناد مرجع تایید .
  2. اگر signInAnonymously کامل روش بدون خطا، ناظر ثبت شده در onAuthStateChanged آغاز کند و شما می توانید اطلاعات حساب کاربر ناشناس از گرفتن User شی:

    نسخه وب 9

    import { getAuth, onAuthStateChanged } from "firebase/auth";
    
    const auth = getAuth();
    onAuthStateChanged(auth, (user) => {
      if (user) {
        // User is signed in, see docs for a list of available properties
        // https://firebase.google.com/docs/reference/js/firebase.User
        const uid = user.uid;
        // ...
      } else {
        // User is signed out
        // ...
      }
    });

    نسخه وب 8

    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        // User is signed in, see docs for a list of available properties
        // https://firebase.google.com/docs/reference/js/firebase.User
        var uid = user.uid;
        // ...
      } else {
        // User is signed out
        // ...
      }
    });

تبدیل یک حساب ناشناس به یک حساب دائمی

هنگامی که یک کاربر ناشناس در برنامه شما ثبت نام می کند ، ممکن است بخواهید به او اجازه دهید کار خود را با حساب جدید خود ادامه دهد - برای مثال ، ممکن است بخواهید مواردی را که کاربر قبل از ثبت نام در سبد خرید خود اضافه کرده است ، در برنامه جدید خود در دسترس قرار دهید. سبد خرید حساب برای انجام این کار ، مراحل زیر را تکمیل کنید:

  1. وقتی که کاربر تا تکمیل جریان ورود به سیستم برای ارائه دهنده احراز هویت کاربر به، اما نه از جمله، خواستار یکی از Auth.signInWith روش. به عنوان مثال ، رمز Google ID کاربر ، رمز دسترسی فیس بوک یا آدرس ایمیل و رمز عبور را دریافت کنید.
  2. دریافت یک AuthCredential برای ارائه دهنده احراز هویت جدید:

    ورود به سیستم Google

    نسخه وب 9

    import { GoogleAuthProvider } from "firebase/auth";
    
    const credential = GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);

    نسخه وب 8

    var credential = firebase.auth.GoogleAuthProvider.credential(
      googleUser.getAuthResponse().id_token);
    ورود فیس بوک

    نسخه وب 9

    import { FacebookAuthProvider } from "firebase/auth";
    
    const credential = FacebookAuthProvider.credential(
      response.authResponse.accessToken);

    نسخه وب 8

    var credential = firebase.auth.FacebookAuthProvider.credential(
      response.authResponse.accessToken);
    ورود ایمیل-رمز ورود

    نسخه وب 9

    import { EmailAuthProvider } from "firebase/auth";
    
    const credential = EmailAuthProvider.credential(email, password);

    نسخه وب 8

    var credential = firebase.auth.EmailAuthProvider.credential(email, password);
  3. رمز عبور AuthCredential شیء را به ثبت نام در کاربر link روش:

    نسخه وب 9

    import { getAuth, linkWithCredential } from "firebase/auth";
    
    const auth = getAuth();
    linkWithCredential(auth.currentUser, credential)
      .then((usercred) => {
        const user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch((error) => {
        console.log("Error upgrading anonymous account", error);
      });

    نسخه وب 8

    auth.currentUser.linkWithCredential(credential)
      .then((usercred) => {
        var user = usercred.user;
        console.log("Anonymous account successfully upgraded", user);
      }).catch((error) => {
        console.log("Error upgrading anonymous account", error);
      });

اگر پاسخ به link موفق شود، حساب کاربری جدید کاربر می تواند داده ها فایربیس حساب ناشناس دسترسی داشته باشید.

مراحل بعدی

حالا که کاربران می توانند با Firebase تصدیق، شما می توانید دسترسی آنها به داده ها در پایگاه داده Firebase خود با استفاده از کنترل قوانین فایربیس .