当前位置: 首页 > 知识库问答 >
问题:

我如何在Firebase身份验证电子邮件模板中的操作链接URL中使用Firebase的语言代码(MyFirebase.auth().LanguageCode)?

陶淳
2023-03-14

因此,我的网站是使用ReactJS构建的,它提供了多语言支持,我的路由是以以下方式格式化的:

http://localhost:3000/ /

http://localhost:3000/new-account?mode=verifyemail&oobcode=xxx&apikey=xxx&lang=fr

我当前的React项目设置是,当操作之前没有指定alpha-2-country-code时,我要将用户重定向到错误页面404。

我的问题是,有没有办法从MyFirebase.auth().LanguageCode中提取fr,以便我可以将它附加到Firebase身份验证电子邮件模板中的操作链接URL中?我在官方文件中找不到任何与此相关的东西。

我希望Firebase生成操作链接URL是

http://localhost:3000/fr/new-account?mode=verifyemail&oobcode=xxx&apikey=xxx&lang=fr

提前道谢!

我只是想知道是否有更好的方法这样做,因为这个链接https://.../en/auth/...&lang=fr似乎有点违反直觉,因为它显示了两种冲突的语言。

如果Firebase能够在“Customize action link URL”中公开更多的“Firebase定义的”变量,而不是自动在后面追加action、oobcode和lang将会非常好,因为并非所有开发人员都喜欢将所有内容塞进查询字符串中的想法。

我不明白为什么这个回旋余地会危及安全。

共有1个答案

殳勇
2023-03-14

Firebase身份验证应该已经将语言代码附加到您的验证电子邮件链接中。这里有文件记录。

firebase.auth().languageCode = 'fr';
firebase.auth().currentUser.sendEmailVerification()
  .then(() => {
    // Email verification should be sent and the link will have &lang=fr
    // appended.
  })
  .catch((error) => {
    // Error occurred.
  });
 类似资料:
  • 如何使用firebase中的验证电子邮件验证使用电子邮件和密码登录的用户?这背后的逻辑是如何工作的,它在代码中会是什么样子? 解决方案/帮助:对于那些仍在寻找答案的人,我找到了这篇文章 堆栈溢出 帖子

  • 电子邮件验证+电子邮件/密码验证的使用不适用于在用户开始使用服务之前绝对需要电子邮件验证的服务。 让我用Google sign in First的一个例子来解释。 首先,用户登录他们的Google帐户(比如电子邮件是),并授权您的应用程序。然后使用通过它接收到的令牌创建一个凭据,并与Firebase交换这些令牌以将用户登录到Firebase。用户需要存在于Firebase中,您才能使用Fireba

  • 我也不会得到一个错误,如果我登录我的电子邮件和密码没有验证电子邮件。 非常感谢你事先的帮助。

  • 我使用Firebase身份验证和电子邮件验证来实现用户注册,如下所示: 用户注册完成后,我可以在Firebase控制台内的Authentication菜单上看到电子邮件。然后我点击了电子邮件上的验证链接,在浏览器上得到了这样的消息: 返回false。所以电子邮件验证过程没有成功完成。这里怎么了? 我使用的是CompilesDKVersion29和Firebase-Auth19.3.2。

  • 问题内容: 我正在尝试将我的电话号码与我的电子邮件密码身份验证相关联。所以我使用以下步骤建立我的注册: 用户输入电子邮件地址和密码。 然后我打电话 那么我需要将当前帐户与电话号码相关联,因此我正在使用 但是,我没有看到任何链接。在我的Firebase控制台中创建的2个帐户和当前用户的详细信息中只有电话号码。当我再次使用电子邮件和密码登录并检查用户详细信息时,电话号码不存在! 请在下面找到我的代码: