Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

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

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

  1. اگر قبلاً این کار را نکرده اید، مراحل راهنمای شروع کار را دنبال کنید.
  2. Firebase Admin SDK را نصب و پیکربندی کنید . مطمئن شوید که SDK را با اعتبارنامه های صحیح برای پروژه Firebase خود مقداردهی کنید.

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

  1. وقتی کاربران وارد برنامه شما می‌شوند، اعتبارنامه ورود به سیستم (به عنوان مثال، نام کاربری و رمز عبور آنها) را به سرور احراز هویت خود ارسال کنید. سرور شما اعتبارنامه ها را بررسی می کند و در صورت معتبر بودن، یک توکن Firebase سفارشی ایجاد می کند و رمز را به برنامه شما باز می فرستد.

  2. پس از دریافت رمز سفارشی از سرور احراز هویت خود، آن را به signInWithCustomToken() ارسال کنید تا وارد کاربر شود:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unkown error.");
        }
    }
    

مراحل بعدی

پس از اینکه کاربر یک حساب جدید ایجاد کرد، این حساب به عنوان بخشی از پروژه Firebase شما ذخیره می‌شود و می‌توان از آن برای شناسایی کاربر در همه برنامه‌های پروژه‌تان استفاده کرد، صرف نظر از اینکه کاربر از چه روش ورود به سیستم استفاده کرده است.

در برنامه های خود، می توانید اطلاعات اولیه نمایه کاربر را از شی User دریافت کنید. به مدیریت کاربران مراجعه کنید.

در قوانین امنیتی Firebase Realtime Database و Cloud Storage، می‌توانید شناسه کاربری منحصربه‌فرد کاربر واردشده به سیستم را از متغیر auth دریافت کنید و از آن برای کنترل داده‌هایی که کاربر می‌تواند به آن دسترسی داشته باشد استفاده کنید.

می‌توانید به کاربران اجازه دهید با استفاده از چندین ارائه‌دهنده احراز هویت، با پیوند دادن اعتبار ارائه‌دهنده احراز هویت به یک حساب کاربری موجود، به برنامه شما وارد شوند.

برای خروج از سیستم کاربر، signOut() را فراخوانی کنید:

await FirebaseAuth.instance.signOut();