【问题标题】:Firebase Passing State(continue to website link) in Password Reset Email and email verification密码重置电子邮件和电子邮件验证中的 Firebase 传递状态(继续网站链接)
【发布时间】:2018-02-23 00:00:42
【问题描述】:

我在我的网站中使用 firebase 进行用户身份验证。尝试建立一个密码重置流程,用户在其中收到密码重置电子邮件,重置他们的密码,然后它只是重定向到具有给定 URL 的网站。

问题:我可以发送密码重置电子邮件并更改该帐户的密码,但是当我单击 firebase 提供的继续按钮时。它会在浏览器控制台中引发以下错误。

Uncaught DOMException: Failed to execute 'assign' on 'Location': 
'https://?link=http://mywebsite.com/?email%3Duser@example.com' is not a valid URL.

我也收到同样的电子邮件验证链接错误。

该网址已在 Firebase 的授权域中列入白名单。

请帮帮我!

【问题讨论】:

  • 我自己找到了问题的解决方案。正如@bojeil 所说,我试图弄清楚如何配置 FDL 域,因为在 firebase 文档中没有关于它的适当文档。作为跟踪和错误过程,我为我的网站创建了一个虚拟 ios 项目,以便激活/配置动态链接。然后它就像魅力一样起作用。密码重置后页面被重定向。
  • 澄清一下,即使这是一个仅限 Web 的应用程序,您仍然需要为 iOS 或 Android 配置动态链接。这对我有用,刚刚在 2018 年 5 月 15 日停止,为 iOS 配置动态链接让它再次工作。这是我收到的错误{code: 'auth/dynamic-link-not-activated', message: 'fdl domain is empty'}
  • 我的也一直工作到 2018 年 5 月 15 日突然停止了。

标签: email firebase web firebase-authentication


【解决方案1】:

您是否将canHandleCodeInApp 传递为真的?这意味着您希望重置链接在已安装的移动应用程序中打开。如果是这样,您的 FDL 域似乎没有配置(它正在解析为空字符串)。您应该转到 Firebase 控制台中的动态链接部分并设置/同意服务条款。这会将链接更新为:https://example.app.goo.gl/?link=.... 您将能够在控制台动态链接部分看到该域。

否则,您可以将 canHandleCodeInApp 作为 false 传递,这将通过在 Firebase 控制台的电子邮件模板部分中设置的 Web 操作回调 URL 打开链接。与后者不同,此链接不会通过 FDL。

【讨论】:

  • 我将canHandleCodeInApp 发送为false,因为它是用于网站的。
  • 嗯,您是否仍然可以配置您的 FDL 域并确保它存在。还要检查您在控制台中的操作回调 URL 吗?它可能有一些问题。它应该看起来像:https://example.firebaseapp.com/__/auth/action,除非你改变了它。该问题可能与这 2 个中的一个有关。
  • FDL 域仅适用于 android 和 ios 应用程序。你能详细说明一下其他选项吗
  • FDL 链接仍然用于 Web 链接。当没有提供 android 或 iOS 标识符时,它将重定向到 link 内容。 FDL 域example.app.goo.gl 正在替换为空字符串。你得到的不是https://example.app.goo.gl/?link=....,而是https://?link=....
猜你喜欢
  • 2018-02-10
  • 2018-12-30
  • 2018-06-15
  • 1970-01-01
  • 2019-01-02
  • 2021-11-10
  • 1970-01-01
  • 2021-11-21
  • 2021-01-05
相关资源
最近更新 更多