הפקודה
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 | האלגוריתם שמשמש לגיבוב (hash) של סיסמאות בקובץ של חשבון המשתמש. נדרש כדי לייבא חשבונות עם שדות סיסמה. אחד מהערכים הבאים: BCRYPT,
SCRYPT, STANDARD_SCRYPT
HMAC_SHA512, HMAC_SHA256,
HMAC_SHA1, HMAC_MD5, MD5,
SHA512, SHA256, SHA1,
PBKDF_SHA1, PBKDF2_SHA256. |
| מפתח גיבוב (hash) | מפתח המשמש לגיבוב של סיסמאות. נדרש עבור SCRYPT, HMAC_SHA512, HMAC_SHA256,
אלגוריתמים HMAC_SHA1 ו-HMAC_MD5.
הארגומנט הזה חייב להיות בפורמט בקידוד base64
String. |
| salt-separator | מפריד מלח שיתווסף ל-salt לצורך אימות הסיסמה. אופציונלי לכל האלגוריתמים. הארגומנט הזה חייב להיות בפורמט מחרוזת בקידוד base64. |
| סבבים | מספר הסבבים המשמשים לגיבוב של סיסמאות. נדרש עבור SCRYPT, MD5, SHA512,
SHA256, SHA1, PBKDF_SHA1 וגם
PBKDF2_SHA256 אלגוריתמים. |
| ממ-עלות | הפרמטר הזה מייצג את עלות הזיכרון שנדרשת עבור
האלגוריתם SCRYPT או עלות המעבד (CPU)/הזיכרון שנדרשת לצורך
האלגוריתם STANDARD_SCRYPT.
|
| טעינה במקביל | המקבילה של אלגוריתם הגיבוב (hashing). חובה לאלגוריתם 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. |
auth:export
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
| פרמטרים | |
|---|---|
| account_file | קובץ ה-CSV או ה-JSON שאליו רוצים לייצא. להצגת קובץ . |
| file_format | אופציונלי. פורמט הקובץ לייצוא: CSV או JSON. אם שם הקובץ שצוין בפרמטר account_file מסתיים
.csv או .json, נעשה שימוש בפורמט הזה
המערכת מתעלמת מהפרמטר הזה.
|
תבנית קובץ
קובץ חשבון המשתמש יכול להיות בפורמט CSV או JSON.
CSV
קובץ CSV של חשבון משתמש הוא בפורמט הבא:
| מספר עמודה | תיאור השדה | סוג שדה | תגובות |
|---|---|---|---|
| 1 | UID | String | חובה המזהה הזה צריך להיות ייחודי לכל החשבונות בפרויקטים שלכם ב-Firebase. אם תייבאו חשבון עם UID שכבר קיים, החשבון יוחלף. |
| 2 | אימייל | String | אופציונלי |
| 3 | כתובת דוא"ל אומתה | בוליאני | אופציונלי |
| 4 | גיבוב (hash) של סיסמה | String | אופציונלי מחרוזת בקידוד base64. בשדה הזה צריך להיות למבצע הקריאה החוזרת תפקיד עריכה או בעלים. |
| 5 | פיסת מידע לסיסמה | String | אופציונלי מחרוזת בקידוד base64. כדי להשתמש בשדה הזה, למבצע הקריאה החוזרת צריכה להיות הרשאת עריכה או הרשאת בעלים. |
| 6 | שם | String | אופציונלי |
| 7 | כתובת URL של תמונה | String | אופציונלי |
| 8 | מזהה Google | String | אופציונלי |
| 9 | כתובת האימייל של Google | String | אופציונלי |
| 10 | שם תצוגה ב-Google | String | אופציונלי |
| 11 | כתובת אתר של תמונה ב-Google Photos | String | אופציונלי |
| 12 | מזהה Facebook | String | אופציונלי |
| 13 | כתובת אימייל ב-Facebook | String | אופציונלי |
| 14 | שם תצוגה ב-Facebook | String | אופציונלי |
| 15 | כתובת URL של תמונה ב-Facebook | String | אופציונלי |
| 16 | מזהה Twitter | String | אופציונלי |
| 17 | כתובת אימייל ב-Twitter | String | אופציונלי |
| 18 | שם תצוגה בטוויטר | 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.comfacebook.comgithub.comtwitter.com