如何自定义用于密码重置和电子邮件验证的 Firebase 操作 URL?

Mur*_*Gan 7 firebase firebase-authentication

我是 firebase 的新手,我想知道如何为密码重置和电子邮件验证邮件自定义操作 URL。

例如 https://app.firebaseapp.com/__/auth/action // 这里我不想要 firebaseApp.com。那么如何从 firebase 自定义此操作 URL。?请帮助我,因为我是 firebase 的新手。任何帮助,将不胜感激

Bri*_*een 9

我相信我已经找到了一种方法来完成此任务,而无需创建自己的网页。

首先转到 Firebase 控制台,然后转到 Firebase 托管。创建一个独特的子域,例如verify.yourdomain.comapp.yourdomain.com。将该域重定向到项目的默认域。

verify.yourdomain.com重定向到default-1234.firebaseapp.com.

一段时间后,Firebase 验证您的子域后,它应该被标记为已连接。然后在控制台中转到“身份验证”,然后转到“模板”。将操作处理程序中的默认域替换为新的子域。

https://verify.yourdomain.com/__/auth/action

应该是这样。


小智 8

if you want to change or customize default action firebase URL: https://app.firebaseapp.com to https://your_domain.com.

您只需要创建自定义域或网站部分的 Firebase 动态链接即可。创建 Firebase 动态链接后,转到 Firebase 上的身份验证/模板,然后点击自定义您的操作链接的 URL,然后输入您的动态链接并点击完成。您的默认操作 URL 链接已更改。

更多信息请访问https://firebase.google.com

  • 我认为这是不正确的。请参阅/sf/ask/4165276601/ (4认同)
  • 这是正确的答案。如果您只想将域从“firebaseapp.com”更改为“yourdomain.com”,则无需构建自定义处理程序网站(当然,只要保持路径的其余部分相同即可:“https:// /yourdomain.com/__/auth/action?mode=<操作>&oobCode=<代码>`)。这还会更改管理 SDK 调用(例如“admin.auth().generatePasswordResetLink(email)”)返回的 URL 中的域 (2认同)

Edu*_*ard 7

我知道这是一个一年前的问题,但这是正确的答案。自定义电子邮件处理程序文档。简单地自定义该 URL 无济于事,因为它只是工作的一半。


Raf*_*olo 7

我不知道这是否有任何缺点(它对我有用),但如果您已经在应用程序中使用自定义域,最简单的方法就是更改电子邮件模板中自定义 URL 中的域。

例如,考虑到您已经配置为 Firebase 托管中的自定义域,只需在模板配置中更改https://myapp.firebaseapp.com/__/auth/action为。https://myapp.com/__/auth/actionmyapp.com

无需动态链接、重定向,甚至无需在 DNS 中创建子域!

  • 这是最简单的并且对我有用。只是为了扩展答案,由 firebase 托管托管的任何域都具有“/__/auth/action”路径,其中包含处理所有身份验证操作的正确代码。 (2认同)

Deb*_*uly 6

假设您的 firebase 链接是https://myapp.firebaseapp.com/__/auth/action 您想要的https://auth.mydom.com/__/auth/action

  1. 在您的域 (mydom.com) 中创建一个 CNAME,名称为auth,值为myapp.firebaseapp.com

  2. 然后转到您的 Firebase 项目 ->身份验证->页面顶部的模板选项卡 -> 单击铅笔按钮 -> 自定义底部的操作 urlhttps://myapp.firebaseapp.com/__/auth/action -> 替换 为https://auth.mydom.com/__/auth/action

  3. 现在更改authDomain您在前端使用的 Firebase 配置 json 中的 。

就是这样。


Jin*_*Liu 5

您可以参考 Firebase 支持文章中的“自定义发件人域”部分https://support.google.com/firebase/answer/7000714?hl=en


ife*_*aju 5

这是一个我现在不得不在互联网上多次尝试解决的问题。不幸的是,情况确实如此,因为没有专门的 Firebase 文档。

以下是要遵循的步骤:

  1. 登录 Firebase 控制台,然后转到相关 Firebase 项目的仪表板。
  2. 单击侧边栏上的“托管”导航
  3. 单击托管页面上的“开始”按钮。
  4. 将显示设置向导,但继续单击“下一步”,无需注意向导上的说明
  5. 单击完成后,将显示实际的“托管”页面。单击“添加自定义域”按钮。
  6. 按照弹出窗口添加并验证您的自定义域名。
  7. 完成后,单击侧边栏上的“身份验证”导航
  8. 单击身份验证页面上的“模板”选项卡。
  9. 现在,您可以通过单击铅笔按钮编辑每个电子邮件模板,然后向下滚动以单击“自定义操作 URL”按钮。
  10. 将操作 URL 的域名替换为您的自定义域(您在步骤 6 中验证过)并保存。请注意,您仅替换操作 URL 的域名。操作 URL 的路径应保持不变。

就是这样,您现在可以通过向自己发送“密码重置”电子邮件或“帐户验证”电子邮件来测试它是否正常工作。

有关步骤的更详细指南,您可以阅读我写的这篇文章https://ifedapo.com/posts/customise-firebase-action-url

它包含屏幕截图和更详细的步骤,因此,如果上述步骤对您来说太拥挤,您可能会发现它更有帮助。