Il comando
auth:import
importa gli account utente nei progetti Firebase.Il comando
auth:export
esporta gli account utente in file JSON e CSV.
Parametri hash della password
Per determinare i parametri dell'hash della password utilizzati per il tuo progetto, vai alla sezione Autenticazione > Utenti della console Firebase e fai clic sull'icona dei tre punti sopra l'elenco degli utenti. Verrà visualizzata una finestra di dialogo con un elenco di parametri hash della password che puoi utilizzare con i comandi auth:import
e auth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
Questi valori sono sensibili, quindi conservali con cura. La maggior parte dei progetti Firebase utilizza SCRYPT
, una versione modificata dell'algoritmo di hashing scrypt , che è l'impostazione predefinita per i nuovi progetti.
autenticazione: importa
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
Parametri | |
---|---|
file_account | Il file CSV o JSON che contiene gli account utente da importare. Vedere Formato file . |
hash-algo | L'algoritmo utilizzato per eseguire l'hashing delle password nel file dell'account utente. Necessario per importare account con campi password. Uno dei seguenti valori: BCRYPT , SCRYPT , STANDARD_SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 , HMAC_MD5 , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 , PBKDF2_SHA256 . |
tasto cancelletto | Chiave utilizzata per eseguire l'hashing delle password. Obbligatorio per gli algoritmi SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 e HMAC_MD5 . Questo argomento deve essere formattato come una stringa con codifica base64 . |
separatore di sale | Separatore di sale che verrà aggiunto al sale durante la verifica della password. Facoltativo per tutti gli algoritmi. Questo argomento deve essere formattato come una stringa con codifica base64 . |
giri | Il numero di cicli utilizzati per eseguire l'hashing delle password. Richiesto per gli algoritmi SCRYPT , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 e PBKDF2_SHA256 . |
costo mem | Questo parametro rappresenta il costo della memoria richiesto per l'algoritmo SCRYPT OPPURE il costo della CPU/memoria richiesto per l'algoritmo STANDARD_SCRYPT . |
parallelizzazione | La parallelizzazione dell'algoritmo di hashing. Obbligatorio per l'algoritmo STANDARD_SCRYPT . |
misura del blocco | La dimensione del blocco (normalmente è 8) dell'algoritmo di hashing. Obbligatorio per l'algoritmo STANDARD_SCRYPT . |
dk-len | La lunghezza della chiave derivata dell'algoritmo di hashing. Obbligatorio per l'algoritmo STANDARD_SCRYPT . |
ordine-di-input-hash | L'ordine della password e del sale. I valori possibili sono SALT_FIRST e PASSWORD_FIRST . Questo flag si applica a SHA512 , SHA256 , SHA1 , MD5 , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 e HMAC_MD5 . |
autenticazione:esportazione
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Parametri | |
---|---|
file_account | Il file CSV o JSON in cui esportare. Vedere Formato file . |
formato del file | Opzionale. Il formato del file da esportare: CSV o JSON. Se il nome file specificato nel parametro account_file termina con .csv o .json , viene utilizzato quel formato e questo parametro viene ignorato. |
Formato del file
Il file dell'account utente può essere formattato come CSV o JSON .
CSV
Un file dell'account utente CSV ha il seguente formato:
Numero di colonna | Descrizione del campo | Tipo di campo | Commenti |
---|---|---|---|
1 | UID | Corda | Necessario Questo ID deve essere univoco tra tutti gli account nei tuoi progetti Firebase. Se importi un account con un UID già esistente, l'account verrà sovrascritto. |
2 | Corda | Opzionale | |
3 | email verificata | Booleano | Opzionale |
4 | Hash della password | Corda | Opzionale Una stringa codificata base64. Questo campo richiede che il chiamante abbia il ruolo di Editor o Proprietario . |
5 | Parola d'ordine Sale | Corda | Opzionale Una stringa codificata base64. Questo campo richiede che il chiamante abbia il ruolo di Editor o Proprietario . |
6 | Nome | Corda | Opzionale |
7 | URL della foto | Corda | Opzionale |
8 | ID Google | Corda | Opzionale |
9 | E-mail di Google | Corda | Opzionale |
10 | Nome visualizzato di Google | Corda | Opzionale |
11 | URL di Google Foto | Corda | Opzionale |
12 | Facebook ID | Corda | Opzionale |
13 | E-mail di Facebook | Corda | Opzionale |
14 | Nome visualizzato di Facebook | Corda | Opzionale |
15 | URL della foto di Facebook | Corda | Opzionale |
16 | ID Twitter | Corda | Opzionale |
17 | E-mail di Twitter | Corda | Opzionale |
18 | Nome visualizzato di Twitter | Corda | Opzionale |
19 | URL della foto di Twitter | Corda | Opzionale |
20 | ID GitHub | Corda | Opzionale |
21 | E-mail GitHub | Corda | Opzionale |
22 | Nome visualizzato GitHub | Corda | Opzionale |
23 | URL della foto di GitHub | Corda | Opzionale |
24 | Orario di creazione dell'utente | Lungo | Opzionale Epoca Unix Timestamp in millisecondi. |
25 | Ora dell'ultimo accesso | Lungo | Opzionale Epoca Unix Timestamp in millisecondi. |
26 | Numero di telefono | Corda | Opzionale |
Se lasci un valore facoltativo non specificato, assicurati di includere comunque un campo vuoto per il valore. Un campo vuoto può contenere un numero qualsiasi di caratteri spaziali.
Ad esempio, la riga seguente rappresenta un account utente:
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
Un file di account utente JSON ha il seguente formato:
{ "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 }, ... ] }, ... ] }
Sostituisci PROVIDER_ID con uno dei seguenti valori:
-
google.com
-
facebook.com
-
github.com
-
twitter.com