auth:import ו-auth:export

  • הפקודה auth:import מייבאת חשבונות משתמש לפרויקטים של Firebase.

  • הפקודה auth:export מייצאת חשבונות משתמש לקובצי JSON ו-CSV.

פרמטרי גיבוב של סיסמה

כדי לקבוע את פרמטרי ה-hash של הסיסמה המשמשים עבור הפרויקט שלך, נווט אל הקטע אימות > משתמשים במסוף 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 , גרסה שונה של אלגוריתם הגיבוב 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-key מפתח המשמש לגיבוב סיסמאות.
נדרש עבור האלגוריתמים 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 .
בגודל בלוק גודל הבלוק (בדרך כלל הוא 8) של אלגוריתם הגיבוב.
נדרש עבור אלגוריתם 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 שאליו יש לייצא. ראה פורמט קובץ .
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 כתובת האתר של התמונה חוּט אופציונאלי
8 מזהה גוגל חוּט אופציונאלי
9 אימייל של גוגל חוּט אופציונאלי
10 שם התצוגה של גוגל חוּט אופציונאלי
11 כתובת האתר של Google Photo חוּט אופציונאלי
12 מזהה פייסבוק חוּט אופציונאלי
13 אימייל בפייסבוק חוּט אופציונאלי
14 שם תצוגה בפייסבוק חוּט אופציונאלי
15 כתובת האתר של תמונה בפייסבוק חוּט אופציונאלי
16 מזהה טוויטר חוּט אופציונאלי
17 דוא"ל בטוויטר חוּט אופציונאלי
18 שם תצוגה בטוויטר חוּט אופציונאלי
19 כתובת האתר של תמונה בטוויטר חוּט אופציונאלי
20 מזהה GitHub חוּט אופציונאלי
21 אימייל של GitHub חוּט אופציונאלי
22 שם תצוגה של GitHub חוּט אופציונאלי
23 כתובת אתר לתמונה של 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