المصادقة باستخدام 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 وقواعد أمان التخزين السحابي ، يمكنك الحصول على معرف المستخدم الفريد للمستخدم الذي قام بتسجيل الدخول من متغير auth ، واستخدامه للتحكم في البيانات التي يمكن للمستخدم الوصول إليها.

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

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

await FirebaseAuth.instance.signOut();