如何配置generateEmailVerificationLink()为不同环境生成对应URL
generateEmailVerificationLink()多环境URL配置方法 控制台的全局自定义URL只是兜底默认配置,不需要为多环境单独创建Firebase项目,SDK原生支持调用时动态指定动作链接域名,完全适配本地开发、测试、生产不同环境需求:
- 调用方法时传入第二个配置参数
actionCodeSettings,在参数中设置url字段为当前环境对应的回调地址即可,该配置优先级高于控制台全局设置,生成的验证链接会直接使用你传入的域名。 - 本地开发场景直接传入本地服务的localhost地址即可,
localhost默认在Firebase授权域名白名单内,无需额外配置即可正常调用。
代码示例(Admin SDK Node.js版):
// 不同环境通过环境变量注入对应基础域名即可 const currentEnvBaseUrl = process.env.NODE_ENV === 'production' ? 'https://你的线上业务域名' : 'http://localhost:3000'; // 端口替换为你本地项目的实际运行端口 const emailVerifyLink = await admin.auth().generateEmailVerificationLink( userEmail, { url: `${currentEnvBaseUrl}/verify-email/callback`, handleCodeInApp: true, // 有APP跳转需求的话,可在此处补充iOS、Android对应的跳转配置 } );
配置注意点
- 所有代码中传入的非默认域名,都需要提前添加到Firebase控制台「Authentication > 设置 > 授权域名」列表中,否则接口会报域名未授权错误。
- 控制台
Authentication > Templates > customize action URL的配置仅作为缺省值生效,只要调用方法时传入了自定义url,就不会使用控制台配置的全局地址。
内容的提问来源于stack exchange,提问作者kusumoto_teruya
相关产品推荐
相关产品推荐

