يستورد الأمر
auth:import
حسابات المستخدمين إلى مشاريع Firebase.يصدِّر الأمر
auth:export
حسابات المستخدمين إلى ملفات JSON وCSV.
مَعلمات تجزئة كلمة المرور
لتحديد معلمات تجزئة كلمة المرور المستخدمة لمشروعك، انتقل إلى قسم المصادقة > المستخدمون في وحدة تحكم Firebase وانقر على رمز النقاط الثلاث أعلى قائمة المستخدمين. سيظهر لك مربّع حوار يتضمّن قائمة بمَعلمات تجزئة كلمة المرور التي يمكنك استخدامها مع الأمرَين auth:import
وauth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
يُرجى الحرص على تخزين هذه القيم بعناية. تستخدم معظم مشاريع Firebase
SCRYPT
، وهو إصدار معدَّل من خوارزمية تجزئة srypt،
وهو الإعداد التلقائي للمشاريع الجديدة.
مصادقة:استيراد
firebase auth:import ACCOUNT_FILE \ --hash-algo=HASH_ALGORITHM \ --hash-key=KEY \ --salt-separator=SALT_SEPARATOR \ --rounds=ROUNDS \ --mem-cost=MEM_COST \ --parallelization=PARALLELIZATION \ --block-size=BLOCK_SIZE \ --dk-len=DK_LEN \ --hash-input-order=HASH_INPUT_ORDER
المَعلمات | |
---|---|
ملف_الحساب | ملف CSV أو JSON الذي يحتوي على حسابات المستخدمين المطلوب استيرادها. راجِع تنسيق الملف. |
تجزئة algo | الخوارزمية المستخدمة لتجزئة كلمات المرور في ملف حساب المستخدم. هذا الإذن مطلوب لاستيراد الحسابات التي تتضمّن حقول كلمات مرور. إحدى القيم التالية: BCRYPT ،
SCRYPT ، STANDARD_SCRYPT ،
HMAC_SHA512 ،
HMAC_SHA256 ،
HMAC_SHA1 ، HMAC_MD5 ، MD5 ،
SHA512 ، SHA256 ، SHA1 ،
PBKDF_SHA1 ، PBKDF2_SHA256 . |
مفتاح التجزئة | المفتاح المستخدَم لتجزئة كلمات المرور. مطلوبة للخوارزميات SCRYPT وHMAC_SHA512 وHMAC_SHA256
وHMAC_SHA1 وHMAC_MD5 .
ويجب تنسيق هذه الوسيطة كسلسلة بترميز base64. |
فاصل الملح | فاصل الملح الذي سيتم إلحاقه بالقيم العشوائية عند تأكيد كلمة المرور. اختيارية لجميع الخوارزميات. ويجب تنسيق هذه الوسيطة كسلسلة بترميز base64. |
الجولات | عدد الجولات المستخدمة لتجزئة كلمات المرور. مطلوبة للخوارزميات SCRYPT وMD5 وSHA512
وSHA256 وSHA1 وPBKDF_SHA1
وPBKDF2_SHA256 . |
تكلفة إدارة الأجهزة الجوّالة للمؤسسات (MMM) | تمثّل هذه المَعلمة إمّا تكلفة الذاكرة المطلوبة لخوارزمية
SCRYPT أو تكلفة وحدة المعالجة المركزية (CPU)/الذاكرة المطلوبة لخوارزمية
STANDARD_SCRYPT .
|
موازاة | موازاة خوارزمية التجزئة. مطلوبة لخوارزمية STANDARD_SCRYPT . |
حجم المكعبات | حجم الكتلة (عادةً ما يكون 8) لخوارزمية التجزئة. مطلوبة لخوارزمية STANDARD_SCRYPT . |
dk-len | طول المفتاح المستمد لخوارزمية التجزئة. مطلوبة لخوارزمية STANDARD_SCRYPT . |
ترتيب إدخال التجزئة | ترتيب كلمة المرور والقيم العشوائية. القيم المحتملة هما SALT_FIRST وPASSWORD_FIRST . تنطبق هذه العلامة
على SHA512 وSHA256 وSHA1
وMD5 وHMAC_SHA512 وHMAC_SHA256
وHMAC_SHA1 وHMAC_MD5 . |
تصدير المصادقة
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
المَعلمات | |
---|---|
ملف_الحساب | ملف CSV أو JSON المطلوب التصدير إليه. راجِع تنسيق الملف. |
تنسيق_الملف | اختياري. تنسيق الملف المطلوب تصديره: إما CSV أو JSON. إذا كان اسم الملف المحدّد في المعلَمة account_file ينتهي
بـ .csv أو .json ، يتم استخدام هذا التنسيق ويتم تجاهل
هذه المَعلمة.
|
تنسيق الملف
يمكن تنسيق ملف حساب المستخدم بتنسيق CSV أو JSON.
CSV
يكون ملف حساب مستخدم CSV بالتنسيق التالي:
رقم العمود | وصف الحقل | نوع الحقل | تعليقات |
---|---|---|---|
1 | الرقم التعريفي الفريد | String | مطلوب يجب أن يكون هذا المعرّف فريدًا بين جميع الحسابات في مشاريعك على Firebase. في حال استيراد حساب بمعرّف UID متوفر من قبل، سيتم استبدال الحساب. |
2 | البريد الإلكتروني | String | اختياري |
3 | تم التحقق من البريد الإلكتروني | منطقي | اختياري |
4 | تجزئة كلمة المرور | String | اختيارية سلسلة بترميز base64. يتطلّب هذا الحقل أن يكون للمتصل دور المحرِّر أو المالك. |
5 | القيمة العشوائية لكلمات المرور | String | اختيارية سلسلة بترميز base64. يتطلّب هذا الحقل أن يكون للمتصل دور المحرِّر أو المالك. |
6 | الاسم | String | اختياري |
7 | عنوان URL للصورة | String | اختياري |
8 | معرّف Google | String | اختياري |
9 | بريد Google الإلكتروني | String | اختياري |
10 | الاسم المعروض في Google | String | اختياري |
11 | عنوان URL "لصور Google" | String | اختياري |
12 | معرّف Facebook | String | اختياري |
13 | البريد الإلكتروني من Facebook | String | اختياري |
14 | الاسم المعروض على Facebook | String | اختياري |
15 | عنوان URL لصورة Facebook | String | اختياري |
16 | معرّف Twitter | String | اختياري |
17 | البريد الإلكتروني من Twitter | String | اختياري |
18 | الاسم المعروض في Twitter | String | اختياري |
19 | عنوان URL لصورة Twitter | String | اختياري |
20 | رقم تعريف GitHub | String | اختياري |
21 | البريد الإلكتروني لـ GitHub | String | اختياري |
22 | الاسم المعروض في GitHub | String | اختياري |
23 | عنوان URL لصورة GitHub | String | اختياري |
24 | وقت إنشاء المستخدم | طويل | الطابع الزمني لحقبة Epoch Unix بالملي ثانية |
25 | آخر وقت تسجيل دخول | طويل | الطابع الزمني لحقبة Epoch Unix بالملي ثانية |
26 | رقم الهاتف | String | اختياري |
إذا تركت قيمة اختيارية غير محدّدة، تأكَّد من تضمين حقل فارغ للقيمة. يمكن أن يكون الحقل الفارغ أي عدد من أحرف المسافة.
على سبيل المثال، يمثل السطر التالي حساب مستخدم:
111, test@test.org, false, Jlf7onfLbzqPNFP/1pqhx6fQF/w=, c2FsdC0x, Test User, http://photo.com/123, , , , , 123, test@test.org, Test FB User, http://photo.com/456, , , , , , , , , 1486324027000, 1486324027000
JSON
يكون ملف حساب مستخدم JSON بالتنسيق التالي:
{ "users": [ { "localId": UID, "email": EMAIL_ADDRESS "emailVerified": EMAIL_VERIFIED, "passwordHash": BASE64_ENCODED_PASSWORD_HASH, "salt": BASE64_ENCODED_PASSWORD_SALT, "displayName": NAME, "photoUrl": PHOTO_URL, "createdAt": CREATED_AT_IN_MILLIS, "lastSignedInAt": LAST_SIGNEDIN_AT_IN_MILLIS, "phoneNumber": PHONE_NUMBER "providerUserInfo": [ { "providerId": PROVIDER_ID, "rawId": PROVIDER_UID, "email": PROVIDER_EMAIL, "displayName": PROVIDER_NAME, "photoUrl": PROVIDER_PHOTO_URL }, ... ] }, ... ] }
استبدِل PROVIDER_ID بإحدى القيم التالية:
google.com
facebook.com
github.com
twitter.com