具有查询参数的Firebase动态链接

时间:2020-05-28 16:58:06

标签: firebase google-cloud-platform firebase-authentication firebase-dynamic-links

我一直在寻找使用更自定义的内容替换Firebase密码重置和欢迎电子邮件中的所有链接,因此对用户来说看起来并不可怕(因此从https://some-app-123f.firebaseapp.com转到link.some-app .com)。

我认为最好的方法可能是使用Firebase动态链接,因此我在那里设置了link.some-app.com。到目前为止一切都很好。

我直接在Web界面中生成了一个新的动态链接。基本上,这将用于所有人,这就是我的希望。我们将该链接称为link.some-app.com/email-link。然后,我将其设置为指向https://some-app-123f.firebaseapp.com/__/auth/action。到目前为止,一切顺利。这些链接仅打开网络,没有打开应用程序,也没有插页页面。

我可以用link.some-app.com/email-link替换电子邮件模板中的“操作URL”。当我通过电子邮件发送密码重置时,会得到一个如下所示的链接:https://link.some-app.com/email-link?mode=resetPassword&oobCode=[hash]&apiKey=[key]&lang=en

但是,当我在调试模式下单击此链接(将d = 1添加到末尾)时,出现了很多错误:

The format of parameter (mode) is not whitelisted for this domain.

因此,我认为我可以通过使用Firebase控制台中的链接域上的白名单功能来解决此问题,因此我尝试了很多不同的选项,但这是两个允许的选项(以涵盖两个域基础,虽然我很确定我需要将目标域列入白名单(例如,firebase)

^https://some-app-123f.firebaseapp.com.*$
^https://link.some-app.com/email-link.*$

我完全错过了什么吗?这是不是因为将其重定向回Firebase而无法实现?

tl; dr:我正在尝试使用更漂亮的URL(比firebase开箱即用)创建一个有效的无服务器重定向链接,该链接指向firebase中的密码重置功能

2 个答案:

答案 0 :(得分:1)

您的网址格式不正确。您没有逃脱.,您的模式应该是

^https://some-app-123f\.firebaseapp\.com/.*$

您无需将第二个URL添加到白名单。

答案 1 :(得分:0)

如果来自动态链接的不正确程序阻止了重定向到您无法控制的站点,那么您需要将动态链接可以重定向到的URL列入白名单。有关将URL列入白名单的更多信息,请访问链接enter here