我需要接受自定义用户名进入我的网站(计费者的要求,严格限制字母数字。)并且这些用户名应该可以与用户的电子邮件地址互换以用于登录目的。
我允许用户通过标准 Firebase 电子邮件密码身份验证使用其电子邮件和密码进行注册和登录。用户在计费者处注册,然后计费者通过回发将自定义生成的用户名返回给应用程序。
我创建了一个用户名表,其中包含每个用户名所属用户的 UID(最初有电子邮件和账单生成的用户名)
当用户尝试登录时,我会转到用户名表并查找 UID。此时我想使用刚刚查找到的UID和用户提供的密码通过standardfirebase身份验证系统。
我无法找到任何方法来验证用户密码对于云函数内查找的用户帐户是否有效,以便我可以生成自定义令牌。
我可以通过用户名查找用户,找到电子邮件,将其发送回客户端,并允许使用该电子邮件和用户提供的密码进行登录,但更愿意避免它,因为这将允许用户名和电子邮件地址与不良行为者相互联系。
在您的云功能中,您可以安装并使用firebase
包除了firebase-admin
,并像初始化网页一样初始化它。这样你就可以使用admin SDK找到用户名的电子邮件,然后使用firebase
从云功能进行身份验证,使用signInWithEmailAndPassword
。如果成功,您可以生成自定义令牌并将其发送给客户端。
我不知道这是否是最好的方法,但它确实有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)