المصادقة مع Firebase باستخدام نظام مصادقة مخصص
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يمكنك دمج مصادقة Firebase مع نظام مصادقة مخصص من خلال
تعديل خادم المصادقة لإنتاج رموز مميّزة موقَّعة ومخصّصة عندما يختار المستخدم
بنجاح. يتلقّى تطبيقك هذا الرمز المميّز ويستخدمه للمصادقة.
من خلال Firebase.
قبل البدء
- يُرجى اتّباع الخطوات الواردة في دليل البدء، إذا لم يسبق لك فعل ذلك.
- ثبِّت حزمة تطوير البرامج (SDK) لمشرف Firebase واضبطها.
تأكّد من إعداد حزمة تطوير البرامج (SDK).
ببيانات الاعتماد الصحيحة لمشروعك على Firebase.
المصادقة باستخدام Firebase
عندما يسجّل المستخدمون الدخول إلى تطبيقك، أرسِل بيانات اعتماد تسجيل الدخول (ل
على سبيل المثال، اسم المستخدم وكلمة المرور) إلى خادم المصادقة.
فحص الخادم لبيانات الاعتماد، وإذا كانت صالحة،
إنشاء رمز مميَّز مخصّص لمنصّة Firebase
ويُرسل الرمز المميّز إلى تطبيقك مرة أخرى.
بعد استلام الرمز المميّز المخصّص من خادم المصادقة، مرِّره
إلى 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.");
}
}
الخطوات التالية
بعد أن ينشئ المستخدم حسابًا جديدًا، يتم تخزين هذا الحساب كجزء من حسابك
ويمكن استخدامه لتحديد هوية مستخدم على مستوى كل تطبيق في
المشروع، بغض النظر عن طريقة تسجيل الدخول التي استخدمها المستخدم.
في تطبيقاتك، يمكنك الحصول على معلومات الملف الشخصي الأساسية للمستخدم من
عنصر User
. راجع إدارة المستخدمين.
في "قاعدة بيانات Firebase في الوقت الفعلي" و"قواعد أمان Cloud Storage"، يمكنك
الحصول على رقم تعريف المستخدِم الفريد الخاص بالمستخدم الذي سجّل الدخول من المتغيّر auth
واستخدامه من أجل
للتحكم في البيانات التي يمكن للمستخدم الوصول إليها.
يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام طرق مصادقة متعددة.
موفِّري خدمة المصادقة من خلال ربط بيانات اعتماد موفِّر المصادقة)
حساب مستخدم حالي.
لتسجيل خروج مستخدم، يُرجى الاتصال بالرقم signOut()
:
await FirebaseAuth.instance.signOut();
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\nYou can integrate Firebase Authentication with a custom authentication system by\nmodifying your authentication server to produce custom signed tokens when a user\nsuccessfully signs in. Your app receives this token and uses it to authenticate\nwith Firebase.\n\nBefore you begin\n\n1. If you haven't already, follow the steps in the [Get started](/docs/auth/flutter/start) guide.\n2. [Install and configure the Firebase Admin SDK](/docs/admin/setup). Be sure to [initialize the SDK](/docs/admin/setup#initialize-sdk) with the correct credentials for your Firebase project.\n\nAuthenticate with Firebase\n\n1. When users sign in to your app, send their sign-in credentials (for\n example, their username and password) to your authentication server. Your\n server checks the credentials and, if they are valid,\n [creates a custom Firebase token](/docs/auth/admin/create-custom-tokens)\n and sends the token back to your app.\n\n2. After you receive the custom token from your authentication server, pass it\n to `signInWithCustomToken()` to sign in the user:\n\n try {\n final userCredential =\n await FirebaseAuth.instance.signInWithCustomToken(token);\n print(\"Sign-in successful.\");\n } on FirebaseAuthException catch (e) {\n switch (e.code) {\n case \"invalid-custom-token\":\n print(\"The supplied token is not a Firebase custom auth token.\");\n break;\n case \"custom-token-mismatch\":\n print(\"The supplied token is for a different Firebase project.\");\n break;\n default:\n print(\"Unknown error.\");\n }\n }\n\nNext steps\n\nAfter a user creates a new account, this account is stored as part of your\nFirebase project, and can be used to identify a user across every app in your\nproject, regardless of what sign-in method the user used.\n\nIn your apps, you can get the user's basic profile information from the\n`User` object. See [Manage Users](/docs/auth/flutter/manage-users).\n\nIn your Firebase Realtime Database and Cloud Storage Security Rules, you can\nget the signed-in user's unique user ID from the `auth` variable, and use it to\ncontrol what data a user can access.\n\nYou can allow users to sign in to your app using multiple authentication\nproviders by [linking auth provider credentials](/docs/auth/flutter/account-linking)) to an\nexisting user account.\n\nTo sign out a user, call `signOut()`: \n\n await FirebaseAuth.instance.signOut();"]]