הפקודה
auth:import
מייבאת חשבונות משתמשים לפרויקטים של Firebase.הפקודה
auth:export
מייצאת חשבונות משתמשים לקובצי JSON ו-CSV.
פרמטרים של גיבוב (hash) של סיסמאות
כדי לבדוק מהם הפרמטרים של גיבוב הסיסמה (hash) שבהם נעשה שימוש בפרויקט, נכנסים לקטע Authentication > Users במסוף Firebase ולוחצים על סמל שלוש הנקודות שמעל רשימת המשתמשים. תוצג תיבת דו-שיח עם רשימה של פרמטרים של גיבוב (hash) של סיסמאות שאפשר להשתמש בהם עם הפקודות auth:import
ו-auth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
הערכים האלה הם רגישים, לכן חשוב להפעיל אותם בזהירות. ברוב הפרויקטים ב-Firebase נעשה שימוש ב-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 . |
מפתח גיבוב (hash) | מפתח שמשמש לגבב סיסמאות. חובה לאלגוריתמים SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 ו-HMAC_MD5 .
הארגומנט הזה צריך להיות בפורמט של מחרוזת בקידוד base64. |
מפריד מלח | מפריד מלח שיצורף ל-salt כשמאמתים את הסיסמה. אופציונלי לכל האלגוריתמים. הארגומנט הזה צריך להיות בפורמט של מחרוזת base64. |
rounds | מספר הסיבובים ששימשו לגיבוב סיסמאות. חובה לאלגוריתמים SCRYPT , MD5 , SHA512 ,
SHA256 , SHA1 , PBKDF_SHA1
ו-PBKDF2_SHA256 . |
mem-cost | הפרמטר הזה מייצג את עלות הזיכרון הנדרשת לאלגוריתם SCRYPT או את עלות המעבד (CPU)/הזיכרון שנדרשת עבור האלגוריתם STANDARD_SCRYPT .
|
טעינה במקביל | ביצוע מקביל של אלגוריתם הגיבוב. נדרש לאלגוריתם STANDARD_SCRYPT . |
block-size | גודל הבלוק (בדרך כלל הוא 8) של אלגוריתם הגיבוב. נדרש לאלגוריתם STANDARD_SCRYPT . |
dk-len | אורך המפתח שנגזר מאלגוריתם הגיבוב. נדרש לאלגוריתם STANDARD_SCRYPT . |
סדר קלט-גיבוב | סדר הסיסמה וה-salt. הערכים האפשריים הם 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 | מחרוזת | חובה המזהה הזה צריך להיות ייחודי מכל החשבונות בפרויקטים שלך ב-Firebase. אם תייבאו חשבון עם UID שכבר קיים, החשבון יוחלף. |
2 | אימייל | מחרוזת | אופציונלי |
3 | כתובת האימייל אומתה | ערך בוליאני | אופציונלי |
4 | גיבוב (hash) של סיסמה | מחרוזת | אופציונלי מחרוזת בקידוד base64. בשדה הזה צריך להיות למבצע הקריאה החוזרת את התפקיד עריכה או בעלים. |
5 | מלח סיסמה | מחרוזת | אופציונלי מחרוזת בקידוד base64. בשדה הזה צריך להיות למבצע הקריאה החוזרת את התפקיד עריכה או בעלים. |
6 | שם | מחרוזת | אופציונלי |
7 | כתובת URL של תמונה | מחרוזת | אופציונלי |
8 | מזהה Google | מחרוזת | אופציונלי |
9 | אימייל של Google | מחרוזת | אופציונלי |
10 | שם תצוגה ב-Google | מחרוזת | אופציונלי |
11 | כתובת URL של Google Photos | מחרוזת | אופציונלי |
12 | מזהה Facebook | מחרוזת | אופציונלי |
13 | כתובת האימייל של Facebook | מחרוזת | אופציונלי |
14 | שם תצוגה ב-Facebook | מחרוזת | אופציונלי |
15 | כתובת אתר של תמונת Facebook | מחרוזת | אופציונלי |
16 | מזהה Twitter | מחרוזת | אופציונלי |
17 | אימייל ב-Twitter | מחרוזת | אופציונלי |
18 | שם תצוגה ב-Twitter | מחרוזת | אופציונלי |
19 | כתובת URL של תמונה ב-Twitter | מחרוזת | אופציונלי |
20 | מזהה GitHub | מחרוזת | אופציונלי |
21 | אימייל ב-GitHub | מחרוזת | אופציונלי |
22 | השם המוצג של GitHub | מחרוזת | אופציונלי |
23 | כתובת URL של תמונת GitHub | מחרוזת | אופציונלי |
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