Python 将用户导入Firebase时密码错误(密码\u哈希使用SHA256)
我们使用SHA256散列的密码将用户从外部数据库迁移到Firebase Auth 我们目前尝试从firebase_admin import auth导入用户。我们可以导入示例用户,但不能使用该用户登录(密码错误) 下面是重现该问题的最少代码片段Python 将用户导入Firebase时密码错误(密码\u哈希使用SHA256),python,firebase,firebase-authentication,firebase-admin,Python,Firebase,Firebase Authentication,Firebase Admin,我们使用SHA256散列的密码将用户从外部数据库迁移到Firebase Auth 我们目前尝试从firebase_admin import auth导入用户。我们可以导入示例用户,但不能使用该用户登录(密码错误) 下面是重现该问题的最少代码片段 我们以一个用户为例 我们使用sha256散列密码 运行import\u users\u to\u firebase() 尝试使用示例用户->无效密码登录 ` ` 我是错过了什么还是误解了什么 有没有办法检查密码\u哈希是否正确导入?或者,是否有一种方法可
import\u users\u to\u firebase()
有没有办法检查密码\u哈希是否正确导入?或者,是否有一种方法可以配置Firebase使用的哈希算法,以便导入的密码与示例用户登录匹配?多亏了Firebase支持团队,我的问题得以解决:) 诀窍是不要在hash_password()中进行base64编码,也不要在之后对其进行解码,这样它就是一个原始字节序列。就是
auth.ImportUserRecord(
uid='someuid',
display_name='Test example',
email=mock_email,
email_verified=False,
password_hash=mock_password_hash, # <-- mock_password_hash is not base64 encoded
)
auth.ImportUserRecord(
uid='someuid',
显示\u name='Test example',
电子邮件=模拟电子邮件,
电子邮件\u验证=错误,
password_hash=mock_password_hash,#密码不仅是散列的,而且是盐腌的。否则,有人可以使用带有预先计算的散列的彩虹表,只需查找密码散列即可破解所有密码
auth.ImportUserRecord(
uid='someuid',
display_name='Test example',
email=mock_email,
email_verified=False,
password_hash=mock_password_hash, # <-- mock_password_hash is not base64 encoded
)