我还没有找到一种方法来定制密码重置电子邮件的认证域。这很重要,因为我已经构建了一个自定义密码重置页面,并且需要首先在本地主机中测试它,然后在部署后在生产中测试它。我正在使用Python编写的云函数,使用以下代码发送密码重置电子邮件:
def send_password_reset_email(request):
if request.method == "OPTIONS":
return handle_preflight_request()
data = request.json["data"]
reset_mode = data["reset_mode"]
user_email = data["user_email"]
base_url = data["base_url"]
settings = auth.ActionCodeSettings(url=base_url)
reset_link = auth.generate_password_reset_link(
email=user_email, action_code_settings=settings, app=firebase_app
)
即使我为base_url
传递不同的url,也会生成相同的重置链接。如何根据我是在本地主机/开发中还是在生产中创建不同的重置链接?
根据本文档,提到
"默认情况下,用户管理邮件链接到默认动作处理程序,这是一个web页面托管在您的项目的"。
根据您的功能和用例,有4种不同的方法来定制密码重置电子邮件的认证域:
- 通过自定义一个人的域和操作链接URL,而不实现电子邮件操作处理程序代码为
在Firebase控制台:
- 进入动态链接
- 通过输入您的自定义域名YOURDOMAIN.com添加URL前缀。没有必要要实际添加动态链接,仅此条目就足够了。
- 转到
Authentication > Template > Edit (Pencil) > Customize Action URL
- 根据此模式输入您的自定义域-
https://YOURDOMAIN.com/__/auth/action
-
您可以创建自定义域的Firebase动态链接创建Firebase动态链接,转到认证/模板Firebase,然后单击操作链接的自定义URL,然后输入动态链接。您的默认操作URL链接将被更改。
-
您可以创建和托管自定义电子邮件操作处理程序来进行自定义处理和集成电子邮件操作处理程序与您的的网站。然后,您必须自定义Firebase项目的电子邮件模板链接到自定义操作处理程序。
-
使用自定义域指定发件人地址并使用自己的服务器要处理帐户管理电子邮件,请指定服务器的URL帐户管理页面,请参考Firebase支持文章。