我正在python中使用firebase的admin-SDK
我使用以下代码创建了一个新用户
user = auth.create_user(
email=email,
email_verified=False,
password=password,
display_name=name,
disabled=False)
现在我已经创建了一个函数,该函数从用户那里获取name,_email ID _和password并使用其电子邮件ID提取用户,然后检查输入的详细信息是否正确。
def check_user(self, name, email, password): # fixme compare password
user = auth.get_user_by_email(email)
if user.display_name == name and user.email == email:# add password comparision
print('successful login')
return True
else:
print('username or password incorrect')
return False
我想将输入的密码与存储的密码进行比较,但由于无法访问密码,因此无法进行比较,我只能使用user.passwordHash访问passwordHash,使用user.passwordSalt访问passwordSalt。
有没有可以找到的passwordHash或passwordSalt,所以我可以比较哈希值。
您
可以自己执行检查,但是您必须在代码中对用户的纯文本密码进行哈希处理,然后比较存储的和计算得出的哈希值,从本质上复制了Firebase已经执行的操作。 Firebase使用modified version of scrypt加密密码。