Firebase 如何获取用于本地化的oobCode

Firebase 如何获取用于本地化的oobCode,firebase,firebase-authentication,Firebase,Firebase Authentication,Firebase只允许确认电子邮件使用一种语言。对于多语言的应用程序来说,整个做得很好的产品都是无用的。我想做我自己的确认系统。唯一的问题是如何获得firebase内部生成的oobCode。site.com?模式=&oobCode= 谢谢。目前无法通过Firebase身份验证API生成有效的oobCode值。它只能通过(正如您所说的“不可翻译”)电子邮件发送 但如果您愿意,您可以构建自己的电子邮件验证机制,使用自己的确认代码来验证电子邮件所有权。你会: 在服务器上生成随机的、不可用的代码 将其发

Firebase只允许确认电子邮件使用一种语言。对于多语言的应用程序来说,整个做得很好的产品都是无用的。我想做我自己的确认系统。唯一的问题是如何获得firebase内部生成的oobCode。site.com?模式=&oobCode=


谢谢。

目前无法通过Firebase身份验证API生成有效的
oobCode
值。它只能通过(正如您所说的“不可翻译”)电子邮件发送

但如果您愿意,您可以构建自己的电子邮件验证机制,使用自己的确认代码来验证电子邮件所有权。你会:

  • 在服务器上生成随机的、不可用的代码
  • 将其发送到用户的电子邮件地址,然后
  • 当用户单击确认链接时,在您回拨的同一服务器上拥有您自己的端点
  • 此时,您可以使用Firebase Admin SDK将
    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之类的电子邮件提供商发送电子邮件来实现这一点。这也会为你节省很多时间。