فرمان
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،
که پیشفرض پروژههای جدید است، استفاده میکنند.
auth:import
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 لازم است. |
| mem-cost | این پارامتر نشاندهنده هزینه حافظه موردنیاز برای
الگوریتم SCRYPT یا هزینه واحد پردازش مرکزی/حافظه موردنیاز برای
الگوریتم STANDARD_SCRYPT است.
|
| موازیسازی | موازیسازی الگوریتم درهمسازی. برای الگوریتم STANDARD_SCRYPT الزامی است. |
| اندازه بلوک | اندازه بلوک (معمولاً ۸ است) الگوریتم درهمسازی. برای الگوریتم STANDARD_SCRYPT الزامی است. |
| dk-len | طول کلید مشتقشده الگوریتم درهمسازی. برای الگوریتم STANDARD_SCRYPT الزامی است. |
| hash-input-order | ترتیب گذرواژه و نمک. مقادیر ممکن عبارتاند از SALT_FIRST و PASSWORD_FIRST. این پرچم برای
SHA512، SHA256، SHA1،
MD5، HMAC_SHA512، HMAC_SHA256،
HMAC_SHA1، و HMAC_MD5 اعمال میشود. |
auth:export
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
| پارامترها | |
|---|---|
| account_file | فایل CSV یا JSON برای صادر کردن به آن. قالب فایل را ببینید. |
| قالب_فایل | اختیاری. قالب فایل برای صادر کردن: CSV یا JSON. اگر نام فایل مشخصشده در پارامتر account_file با
.csv یا .json تمام شود، از آن قالب استفاده میشود و این
پارامتر نادیده گرفته میشود.
|
قالب فایل
فایل حساب کاربر میتواند در قالب CSV یا JSON باشد.
CSV
فایل حساب کاربری CSV قالب زیر را دارد:
| شماره ستون | شرح فیلد | نوع فیلد | نظرات |
|---|---|---|---|
| 1 | UID | تار | الزامی این شناسه باید در میان همه حسابهای پروژههای Firebase شما یکتا باشد. اگر حسابی را با UID که ازقبل وجود دارد وارد کنید، حساب بازنویسی خواهد شد. |
| 2 | ایمیل | تار | اختیاری |
| 3 | ایمیل درستیسنجی شد | بولی | اختیاری |
| 4 | درهمسازی گذرواژه | تار | اختیاری رشتهای با کدبندی base64. این فیلد نیاز دارد که تماسگیرنده نقش «تدوینگر» یا «مالک» داشته باشد. |
| 5 | نمک گذرواژه | تار | اختیاری رشتهای با کدبندی base64. این فیلد نیاز دارد که تماسگیرنده نقش «تدوینگر» یا «مالک» داشته باشد. |
| 6 | نام | تار | اختیاری |
| 7 | نشانی وب عکس | تار | اختیاری |
| 8 | Google ID | تار | اختیاری |
| 9 | ایمیل Google | تار | اختیاری |
| 10 | نام نمایشی Google | تار | اختیاری |
| 11 | نشانی وب عکس Google | تار | اختیاری |
| 12 | شناسه فیسبوک | تار | اختیاری |
| 13 | ایمیل فیسبوک | تار | اختیاری |
| ۱۴ | نام نمایشی فیسبوک | تار | اختیاری |
| 15 | نشانی وب عکس فیسبوک | تار | اختیاری |
| ۱۶ | شناسه توییتر | تار | اختیاری |
| 17 | ایمیل توییتر | تار | اختیاری |
| ۱۸ | نام نمایشی X | تار | اختیاری |
| 19 | نشانی وب عکس X | تار | اختیاری |
| 20 | شناسه GitHub | تار | اختیاری |
| ۲۱ | ایمیل GitHub | تار | اختیاری |
| 22 | نام نمایشی GitHub | تار | اختیاری |
| 23 | نشانی وب عکس GitHub | تار | اختیاری |
| 24 | زمان ایجاد کاربر | طولانی | اختیاری مُهر زمان تاریخ یونیکس برحسب میلیثانیه. |
| 25 | آخرین زمان ورود به سیستم | طولانی | اختیاری مُهر زمان تاریخ یونیکس برحسب میلیثانیه. |
| 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.comfacebook.comgithub.comtwitter.com