المصادقة مع 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("Unknown error.");
        }
    }
    

الخطوات التالية

بعد أن يقوم المستخدم بإنشاء حساب جديد، يتم تخزين هذا الحساب كجزء من مشروع Firebase الخاص بك، ويمكن استخدامه لتحديد المستخدم عبر كل تطبيق في مشروعك، بغض النظر عن طريقة تسجيل الدخول التي استخدمها المستخدم.

في تطبيقاتك، يمكنك الحصول على معلومات الملف الشخصي الأساسية للمستخدم من كائن User . راجع إدارة المستخدمين .

في قاعدة بيانات Firebase Realtime وقواعد أمان التخزين السحابي، يمكنك الحصول على معرف المستخدم الفريد للمستخدم الذي قام بتسجيل الدخول من متغير auth ، واستخدامه للتحكم في البيانات التي يمكن للمستخدم الوصول إليها.

يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام موفري مصادقة متعددين عن طريق ربط بيانات اعتماد موفر المصادقة ) بحساب مستخدم موجود.

لتسجيل خروج مستخدم، اتصل بـ signOut() :

await FirebaseAuth.instance.signOut();