firebase-admin SDK 中的自定义 authDomain?

问题描述 投票:0回答:2

我一直在查看firebase-admin SDK文档讨论组,但找不到任何使用我的域服务器端生成signInWithEmailLink的提示。

是否可以使用我的域在服务器端中自定义登录链接?或者只能在客户端应用程序中实现?

使用您的身份提供商更新回调 URL,以使用您的自定义域而不是默认域。例如,将 https://myproject.firebaseapp.com/__/auth/handler 更改为 https://auth.mycustomdomain.com/__/auth/handler

这是我的实际工作,但我更喜欢最干净的解决方案。

let link = await getAuth().generateSignInWithEmailLink(email, actionCodeSettings);

if(link.startsWith("https://myproject.firebaseapp.com")) {
  link = link.replace("https://myproject.firebaseapp.com", process.env.AUTH_URL);
}
node.js firebase firebase-admin
2个回答
1
投票

进入模板页面,点击编辑,然后点击“自定义域名”。
这样做的好处是它不仅影响 Firebase 管理。


0
投票

你的方法实际上是一个很好的方法,但是用普通的字符串替换有点粗糙。尝试使用

URL
类,它更清晰且不易出错。

const link = await getAuth().generateSignInWithEmailLink(email, actionCodeSettings);

const linkUrl = new URL(link);
const authUrl = new URL(process.env.AUTH_URL);
linkUrl.hostname = authUrl.hostname;

// you will get your custom domain replaced in the generated url
console.log(linkUrl.toString());
© www.soinside.com 2019 - 2024. All rights reserved.