动态链接自定义路径未应用于 Firebase 身份验证
Dynamic Links Custom Path not applied in Firebase Authentication
我已经设置了 Firebase 动态链接 和 URL,格式如下:a.b.c/d
但是,由 Firebase 身份验证 发送的 电子邮件 包含格式为 a.b.c/?link=...
而不是 a.b.c/d/?link=...
的动态链接,这意味着它们不起作用。
我跟着 this guide / this guide 发送了 link。
每当我手动复制 link 并在 URL 中添加 d/
时,动态链接将起作用,因为设置了 动态链接 在 Firebase 控制台以及 Firebase 托管 .
的 firebase.json
中以这种方式进行设置
"appAssociation": "AUTO",
"rewrites": [
{
"source": "/d/**",
"dynamicLinks": true
}
]
不幸的是,Firebase 身份验证 尚不支持动态链接中的自定义路径,正如 bojeil 指出的那样(由 Firebase 支持确认)。
不幸的是,capturing URL segments in Firebase Hosting redirects 不支持 查询参数 ,需要将 /?link=...
重定向到 /d/?link=...
。
由于这两个不幸的情况,我只是简单地使用一些JavaScript将任何请求重定向到/?link=...
到/d/?link...
:
const link = new URLSearchParams(window.location.search).get('link')
if (window.location.pathname == '/' && link != null && link != '') window.location = `a.b.c/d/${window.location.search}`
我已经设置了 Firebase 动态链接 和 URL,格式如下:a.b.c/d
但是,由 Firebase 身份验证 发送的 电子邮件 包含格式为 a.b.c/?link=...
而不是 a.b.c/d/?link=...
的动态链接,这意味着它们不起作用。
我跟着 this guide / this guide 发送了 link。
每当我手动复制 link 并在 URL 中添加 d/
时,动态链接将起作用,因为设置了 动态链接 在 Firebase 控制台以及 Firebase 托管 .
firebase.json
中以这种方式进行设置
"appAssociation": "AUTO",
"rewrites": [
{
"source": "/d/**",
"dynamicLinks": true
}
]
不幸的是,Firebase 身份验证 尚不支持动态链接中的自定义路径,正如 bojeil 指出的那样(由 Firebase 支持确认)。
不幸的是,capturing URL segments in Firebase Hosting redirects 不支持 查询参数 ,需要将 /?link=...
重定向到 /d/?link=...
。
由于这两个不幸的情况,我只是简单地使用一些JavaScript将任何请求重定向到/?link=...
到/d/?link...
:
const link = new URLSearchParams(window.location.search).get('link')
if (window.location.pathname == '/' && link != null && link != '') window.location = `a.b.c/d/${window.location.search}`