Node.js 如何在firebase中使用电子邮件和密码创建自定义令牌

Node.js 如何在firebase中使用电子邮件和密码创建自定义令牌,node.js,firebase,firebase-authentication,firebase-admin,Node.js,Firebase,Firebase Authentication,Firebase Admin,我正在使用firebase和我自己的服务器开发自定义身份验证 工作流程: 用户将其电子邮件和密码发送到我的服务器 在服务器中,我应该创建一个自定义令牌并将其发送回,但是 createCustomToken(uid) 只接受uid,不接受电子邮件和密码。 因此,我必须通过电子邮件获取uid(我猜是这样的): getUserByEmail(email) 然后,我得到用户数据(uid、密码(散列)、salt等) 我应该使用哪个脚本来散列用户发送的密码,以便与firebase发送的密码进行比较 我遗

我正在使用firebase和我自己的服务器开发自定义身份验证

工作流程:

用户将其电子邮件和密码发送到我的服务器

在服务器中,我应该创建一个自定义令牌并将其发送回,但是

createCustomToken(uid)
只接受uid,不接受电子邮件和密码。 因此,我必须通过电子邮件获取uid(我猜是这样的):

getUserByEmail(email)
然后,我得到用户数据(uid、密码(散列)、salt等)

我应该使用哪个脚本来散列用户发送的密码,以便与firebase发送的密码进行比较


我遗漏了什么吗?

自定义令牌主要用于将客户端应用程序与自定义身份验证系统集成。要使用电子邮件和密码进行身份验证,只需使用客户端SDK(例如)中提供的
signInWithEmailAndPassword()
函数即可。还要注意,Admin SDK中
getUser()
返回的用户记录上没有密码散列,因此,您无论如何都无法实现上述建议的流程。自定义令牌主要用于将客户端应用程序与自定义身份验证系统集成。要使用电子邮件和密码进行身份验证,只需使用客户端SDK(例如)中提供的
signInWithEmailAndPassword()
函数即可。还要注意,Admin SDK中
getUser()
返回的用户记录上没有密码散列,因此无论如何都无法实现上述建议的流。