首页 > 解决方案 > 使用 CLI firebase auth 导入用户帐户后我得到 INVALID_PASSWORD:使用 python 脚本导入

问题描述

我正在尝试使用 CLI 将具有固定参数的用户帐户设置到 Firebase 中,成功上传数据后,然后对其进行测试,我在日志中得到 INVALID_PASSWORD

我认为与盐和哈希有关,我是否错误地设置了这些值?

这里还有其他相关的 QA,

https://stackoverflow.com/a/40851390/2513972

但我尝试使用 python,所以请帮助我,我卡在这里。

from passlib.hash import pbkdf2_sha256
from passlib.utils import to_bytes, to_native_str
import base64

PASSWORD = 'aA123456*'
ROUND = 20000
SALT = to_bytes('google')

hash1 = pbkdf2_sha256.using(salt=SALT,rounds=ROUND).hash(PASSWORD)
print(pbkdf2_sha256.identify(hash1)) 
# True 
print(pbkdf2_sha256.verify(PASSWORD,hash1)) 
# True
print(hash1) 
# $pbkdf2-sha256$20000$Z29vZ2xl$PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc

print(base64.b64encode(b'Z29vZ2xl')) 
# b'WjI5dloyeGw='
print(base64.b64encode(b'PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc')) 
# b'UHRGTHlaSEpKdWNVYTJLQmcxaUplVkpzaXZpczhKaW1SaEZpZlJSS2xGYw==' 

# firebase auth:import sandbox/account_file.csv --hash-algo=PBKDF2_SHA256 --rounds=20000 --project <project_name>

# account_file.csv
# 555000444,example@gmail.com,false,UHRGTHlaSEpKdWNVYTJLQmcxaUplVkpzaXZpczhKaW1SaEZpZlJSS2xGYw==,WjI5dloyeGw=,,,,,,,,,,,,,,,,,,,,,,

标签: firebasefirebase-authentication

解决方案


密码已经有base64格式的值,不需要再用base64.b64encode方法解析。

# account_file.csv
# 555000444,example@gmail.com,false,PtFLyZHJJucUa2KBg1iJeVJsivis8JimRhFifRRKlFc,Z29vZ2xl,,,,,,,,,,,,,,,,,,,,,,

推荐阅读