Firebase 如何获取用于本地化的oobCode
Firebase只允许确认电子邮件使用一种语言。对于多语言的应用程序来说,整个做得很好的产品都是无用的。我想做我自己的确认系统。唯一的问题是如何获得firebase内部生成的oobCode。site.com?模式=&oobCode=Firebase 如何获取用于本地化的oobCode,firebase,firebase-authentication,Firebase,Firebase Authentication,Firebase只允许确认电子邮件使用一种语言。对于多语言的应用程序来说,整个做得很好的产品都是无用的。我想做我自己的确认系统。唯一的问题是如何获得firebase内部生成的oobCode。site.com?模式=&oobCode= 谢谢。目前无法通过Firebase身份验证API生成有效的oobCode值。它只能通过(正如您所说的“不可翻译”)电子邮件发送 但如果您愿意,您可以构建自己的电子邮件验证机制,使用自己的确认代码来验证电子邮件所有权。你会: 在服务器上生成随机的、不可用的代码 将其发
谢谢。目前无法通过Firebase身份验证API生成有效的
oobCode
值。它只能通过(正如您所说的“不可翻译”)电子邮件发送
但如果您愿意,您可以构建自己的电子邮件验证机制,使用自己的确认代码来验证电子邮件所有权。你会:
emailVerified
属性设置为true
感谢评论中的@Nikhil:或者,您可以完全滚动您自己的验证,并使用Admin SDK将
emailVerified
设置为true。请参阅,以获取该示例。因此,如果在客户端上执行sendVerificationEmail()方法,则无法使用updateUser admin方法?updateUser方法需要uid,目前无法在电子邮件模板中发送用户的uid。对吗?嗯。。。是的,说得好。我忘了管理员SDK现在正在更新用户配置文件。或者,您可以完全使用自己的验证,只需使用AdminSDK将emailVerified
设置为true。关于这个例子,请参见。谢谢!愚蠢的问题-getUser()或updateUser()更新UserRecord对象,我仍然需要更新数据库中位于我的/users/uid位置的用户字段。正确吗?数据库中的用户节点与Firebase身份验证中的用户记录之间没有隐式连接。任何这样的连接都是由您的代码建立的,所以很多连接也需要由您的代码维护(在本例中更新)。这个解决方案目前还不能完全工作。如果您设置了自己的验证系统,您将无法在用户需要重置密码时更新其密码。您必须使用Firebase SDK使用其oobCode
更新密码,这意味着您必须让Admin SDK生成链接。您可以通过旋转Firebase函数,使用AdminSDK生成这些链接,然后使用SendGrid之类的电子邮件提供商发送电子邮件来实现这一点。这也会为你节省很多时间。