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

标签 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。到目前为止一切都很好。

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

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

但是,当我在 Debug模式下单击此链接(在末尾添加 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:我正在尝试使用比 Firebase 开箱即用的更漂亮的 url 创建一个指向 Firebase 中密码重置功能的有效无服务器重定向链接

最佳答案

您的网址模式不正确。你还没有逃脱你的模式应该是

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

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

关于带有查询参数的 Firebase 动态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62070341/

相关文章:

android - 使用唯一标识符flutter/android识别设备

javascript - 谷歌云/Firebase函数: await is only valid in async function

android - firestore 读取是异步的,我想要同步行为

python - 如何通过 python 的时间戳过滤 GCP stackdriver 日志

android - Firebase Auth getCurrentUser() 检索已删除的用户

Android Firebase 身份验证在发布 APK 上不起作用

firebase - 如何将 firebase 存储中的图像显示到小部件中?

kubernetes - 将Cassandra迁移到GCP

google-cloud-platform - 如何在 Google Cloud Platform 中获取用户托管服务帐户的公钥

ios - 如何在 Swift 中使用 Firebase 处理离线注销?