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

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

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

  1. اضافه کردن فایربیس به پروژه جاوا اسکریپت خود را .
  2. کلیدهای سرور پروژه خود را دریافت کنید:
    1. برو به حسابهای سرویس صفحه در تنظیمات پروژه خود را.
    2. کلیک کنید تولید جدید کلید خصوصی در پایین بخش فایربیس محیط مدیریت SDK صفحه حسابهای سرویس.
    3. جفت کلید عمومی/خصوصی حساب سرویس جدید به طور خودکار در رایانه شما ذخیره می شود. این فایل را در سرور احراز هویت خود کپی کنید.

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

  1. وقتی کاربران به برنامه شما وارد می شوند ، اطلاعات ورود به سیستم خود (به عنوان مثال ، نام کاربری و رمز عبور خود) را به سرور احراز هویت خود ارسال کنید. چک سرور شما اعتبار و بازده یک سفارشی رمز اگر آنها معتبر هستند.
  2. پس از شما در سفارشی نشانه از سرور احراز هویت خود را دریافت، آن را به signInWithCustomToken به ثبت نام در کاربر:

    نسخه وب 9

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

    نسخه وب 8

    firebase.auth().signInWithCustomToken(token)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ...
      });

مراحل بعدی

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

  • در برنامه های خود را، راه توصیه می شود به دانستن وضعیت تایید از کاربر خود را این است که مجموعه یک ناظر در Auth شی. بعد از آن شما می توانید اطلاعات نمایه کاربر از User شی. مشاهده مدیریت کاربران .

  • در خود پایگاه فایربیس بیدرنگ و ابر ذخیره سازی قوانین امنیتی ، شما می توانید دریافت امضا در شناسه کاربری منحصر به فرد کاربر را از auth متغیر، و استفاده از آن برای کنترل آنچه داده دسترسی کاربر می تواند.

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

برای خروج از سیستم یک کاربر، پاسخ signOut :

نسخه وب 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

نسخه وب 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});