O comando
auth:import
importa contas de usuário para projetos do Firebase.O comando
auth:export
exporta contas de usuário para arquivos JSON e CSV.
Parâmetros de hash de senha
Para determinar os parâmetros de hash de senha usados em seu projeto, navegue até a seção Autenticação > Usuários do console do Firebase e clique no ícone de três pontos acima da lista de usuários. Você verá uma caixa de diálogo com uma lista de parâmetros de hash de senha que você pode usar com os comandos auth:import
e auth:export
:
hash_config {
algorithm: SCRYPT,
base64_signer_key: <...sensitive...>,
base64_salt_separator: <...sensitive...>,
rounds: 8,
mem_cost: 14,
}
Esses valores são sensíveis, portanto armazene-os com cuidado. A maioria dos projetos do Firebase usa SCRYPT
, uma versão modificada do algoritmo de hashing scrypt , que é o padrão para novos projetos.
autenticação: importação
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
Parâmetros | |
---|---|
arquivo_da_conta | O arquivo CSV ou JSON que contém as contas de usuário a serem importadas. Consulte Formato de arquivo . |
hash-algo | O algoritmo usado para fazer hash de senhas no arquivo da conta do usuário. Necessário para importar contas com campos de senha. Um dos seguintes valores: BCRYPT , SCRYPT , STANDARD_SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 , HMAC_MD5 , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 , PBKDF2_SHA256 . |
chave de hash | Chave usada para hash de senhas. Obrigatório para os algoritmos SCRYPT , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 e HMAC_MD5 . Este argumento deve ser formatado como uma string codificada em base64 . |
separador de sal | Separador de salt que será anexado ao salt ao verificar a senha. Opcional para todos os algoritmos. Este argumento deve ser formatado como uma string codificada em base64 . |
rodadas | O número de rodadas usadas para hash de senhas. Obrigatório para os algoritmos SCRYPT , MD5 , SHA512 , SHA256 , SHA1 , PBKDF_SHA1 e PBKDF2_SHA256 . |
custo mem | Este parâmetro representa o custo de memória necessário para o algoritmo SCRYPT OU o custo de CPU/memória necessário para o algoritmo STANDARD_SCRYPT . |
paralelização | A paralelização do algoritmo de hash. Obrigatório para o algoritmo STANDARD_SCRYPT . |
tamanho do bloco | O tamanho do bloco (normalmente é 8) do algoritmo de hash. Obrigatório para o algoritmo STANDARD_SCRYPT . |
dk-len | O comprimento da chave derivada do algoritmo de hash. Obrigatório para o algoritmo STANDARD_SCRYPT . |
ordem de entrada de hash | A ordem da senha e do salt. Os valores possíveis são SALT_FIRST e PASSWORD_FIRST . Este sinalizador se aplica a SHA512 , SHA256 , SHA1 , MD5 , HMAC_SHA512 , HMAC_SHA256 , HMAC_SHA1 e HMAC_MD5 . |
autorização:exportar
firebase auth:export ACCOUNT_FILE --format=FILE_FORMAT
Parâmetros | |
---|---|
arquivo_da_conta | O arquivo CSV ou JSON para o qual exportar. Consulte Formato de arquivo . |
formato de arquivo | Opcional. O formato do arquivo a ser exportado: CSV ou JSON. Se o nome do arquivo especificado no parâmetro account_file terminar com .csv ou .json , esse formato será usado e esse parâmetro será ignorado. |
Formato de arquivo
O arquivo da conta do usuário pode ser formatado como CSV ou JSON .
CSV
Um arquivo CSV de conta de usuário tem o seguinte formato:
Número da coluna | Descrição do campo | Tipo de campo | Comentários |
---|---|---|---|
1 | UID | Corda | Obrigatório Esse ID deve ser exclusivo entre todas as contas nos seus projetos do Firebase. Se você importar uma conta com um UID já existente, a conta será substituída. |
2 | Corda | Opcional | |
3 | email verificado | boleano | Opcional |
4 | Hash de senha | Corda | Opcional Uma string codificada em base64. Este campo exige que o chamador tenha a função de Editor ou Proprietário . |
5 | Senha Sal | Corda | Opcional Uma string codificada em base64. Este campo exige que o chamador tenha a função de Editor ou Proprietário . |
6 | Nome | Corda | Opcional |
7 | URL da foto | Corda | Opcional |
8 | ID do Google | Corda | Opcional |
9 | E-mail do Google | Corda | Opcional |
10 | Nome de exibição do Google | Corda | Opcional |
11 | URL da foto do Google | Corda | Opcional |
12 | ID do Facebook | Corda | Opcional |
13 | E-mail do Facebook | Corda | Opcional |
14 | Nome de exibição do Facebook | Corda | Opcional |
15 | URL da foto do Facebook | Corda | Opcional |
16 | Código do Twitter | Corda | Opcional |
17 | E-mail do Twitter | Corda | Opcional |
18 | Nome de exibição do Twitter | Corda | Opcional |
19 | URL da foto do Twitter | Corda | Opcional |
20 | Código do GitHub | Corda | Opcional |
21 | E-mail GitHub | Corda | Opcional |
22 | Nome de exibição do GitHub | Corda | Opcional |
23 | URL da foto do GitHub | Corda | Opcional |
24 | Hora de criação do usuário | Longo | Opcional Epoch Unix Timestamp em milissegundos. |
25 | Horário do último login | Longo | Opcional Epoch Unix Timestamp em milissegundos. |
26 | Número de telefone | Corda | Opcional |
Se você deixar um valor opcional não especificado, certifique-se de incluir ainda um campo vazio para o valor. Um campo vazio pode ter qualquer número de caracteres de espaço.
Por exemplo, a linha a seguir representa uma conta de usuário:
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
Um arquivo de conta de usuário JSON tem o seguinte 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 }, ... ] }, ... ] }
Substitua PROVIDER_ID por um dos seguintes valores:
-
google.com
-
facebook.com
-
github.com
-
twitter.com