يقوم الأمر
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
، وهي نسخة معدلة من خوارزمية تجزئة scrypt ، وهي الافتراضية للمشاريع الجديدة.
مصادقة:استيراد
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
حدود | |
---|---|
account_file | ملف CSV أو JSON الذي يحتوي على حسابات المستخدمين المراد استيرادها. انظر تنسيق الملف . |
hash-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 . |
تكلفة الذاكرة | تمثل هذه المعلمة إما تكلفة الذاكرة المطلوبة لخوارزمية SCRYPT أو تكلفة وحدة المعالجة المركزية/الذاكرة المطلوبة لخوارزمية STANDARD_SCRYPT . |
الموازاة | توازي خوارزمية التجزئة. مطلوب لخوارزمية STANDARD_SCRYPT . |
مقاس الكتله | حجم الكتلة (عادةً 8) لخوارزمية التجزئة. مطلوب لخوارزمية STANDARD_SCRYPT . |
dk-لين | طول المفتاح المشتق لخوارزمية التجزئة. مطلوب لخوارزمية 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
حدود | |
---|---|
account_file | ملف CSV أو JSON المراد التصدير إليه. انظر تنسيق الملف . |
تنسيق الملف | خياري. تنسيق الملف المراد تصديره: إما CSV أو JSON. إذا كان اسم الملف المحدد في معلمة account_file ينتهي بـ .csv أو .json ، فسيتم استخدام هذا التنسيق ويتم تجاهل هذه المعلمة. |
تنسيق الملف
يمكن تنسيق ملف حساب المستخدم بتنسيق CSV أو JSON .
CSV
يحتوي ملف حساب مستخدم CSV على التنسيق التالي:
رقم العمود | حقل الوصف | نوع الحقل | تعليقات |
---|---|---|---|
1 | معرف فريد | خيط | مطلوب يجب أن يكون هذا المعرف فريدًا بين جميع الحسابات في مشاريع Firebase الخاصة بك. إذا قمت باستيراد حساب باستخدام UID موجود بالفعل، فسيتم استبدال الحساب. |
2 | بريد إلكتروني | خيط | خياري |
3 | تم التحقق من البريد الإلكتروني | منطقية | خياري |
4 | تجزئة كلمة المرور | خيط | خياري سلسلة مشفرة Base64. يتطلب هذا الحقل أن يكون لدى المتصل دور المحرر أو المالك . |
5 | ملح كلمة المرور | خيط | خياري سلسلة مشفرة Base64. يتطلب هذا الحقل أن يكون لدى المتصل دور المحرر أو المالك . |
6 | اسم | خيط | خياري |
7 | عنوان URL للصورة | خيط | خياري |
8 | معرف جوجل | خيط | خياري |
9 | البريد الإلكتروني جوجل | خيط | خياري |
10 | اسم العرض في Google | خيط | خياري |
11 | عنوان URL لصور Google | خيط | خياري |
12 | معرف الفيسبوك | خيط | خياري |
13 | البريد الإلكتروني الفيسبوك | خيط | خياري |
14 | اسم العرض فيس بوك | خيط | خياري |
15 | عنوان URL لصورة فيسبوك | خيط | خياري |
16 | معرف تويتر | خيط | خياري |
17 | البريد الإلكتروني تويتر | خيط | خياري |
18 | اسم العرض على تويتر | خيط | خياري |
19 | عنوان URL للصورة على تويتر | خيط | خياري |
20 | معرف جيثب | خيط | خياري |
21 | البريد الإلكتروني جيثب | خيط | خياري |
22 | اسم عرض جيثب | خيط | خياري |
23 | عنوان URL لصورة جيثب | خيط | خياري |
24 | وقت إنشاء المستخدم | طويل | خياري Epoch Unix الطابع الزمني بالمللي ثانية. |
25 | آخر وقت لتسجيل الدخول | طويل | خياري Epoch Unix الطابع الزمني بالمللي ثانية. |
26 | رقم التليفون | خيط | خياري |
إذا تركت قيمة اختيارية غير محددة، فتأكد من أنك لا تزال تقوم بتضمين حقل فارغ للقيمة. يمكن أن يحتوي الحقل الفارغ على أي عدد من أحرف المسافات.
على سبيل المثال، يمثل السطر التالي حساب مستخدم:
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