Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase电子邮件链接验证会导致出现一个页面,上面写着;遇到错误";-&引用;所选页面模式无效";_Javascript_Firebase_Firebase Authentication - Fatal编程技术网

Javascript Firebase电子邮件链接验证会导致出现一个页面,上面写着;遇到错误";-&引用;所选页面模式无效";

Javascript Firebase电子邮件链接验证会导致出现一个页面,上面写着;遇到错误";-&引用;所选页面模式无效";,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,我使用Firebase auth(Firebase v7.23.0)在本地主机上。电子邮件发送正常。我单击电子邮件中的登录链接。我在my.firebaseapp.com上获得此错误页面 我的代码主要在下面,但这一切都是可行的。Firebase页面出现错误。我不确定我还需要设置什么。localhost位于允许的域上。错误在Firebase端,因此我无法对其进行调试或修复 const actionCodeSettings = { // URL you want to redirect back

我使用Firebase auth(Firebase v7.23.0)在本地主机上。电子邮件发送正常。我单击电子邮件中的登录链接。我在my.firebaseapp.com上获得此错误页面

我的代码主要在下面,但这一切都是可行的。Firebase页面出现错误。我不确定我还需要设置什么。localhost位于允许的域上。错误在Firebase端,因此我无法对其进行调试或修复

const actionCodeSettings = {
  // URL you want to redirect back to. The domain (www.example.com) for this
  // URL must be whitelisted in the Firebase Console.
  // url: `${window.location.protocol}//${window.location.host}/`,
  url: http://localhost:7000/#postLogin,
  // This must be true.
  handleCodeInApp: true
};

firebase.auth().sendSignInLinkToEmail(this.email, actionCodeSettings)
        .then(() => {
          // The link was successfully sent. Inform the user.
          // Save the email locally so you don't need to ask the user for it again.
          window.localStorage.setItem('email', this.email);
        })
        .catch(error => {
          // Some error occurred, you can inspect the code: error.code
        });
    }

当用户点击电子邮件链接时,他们会登陆到一个页面上。比如说
/register/complete

因此,您应该具有以下代码才能使其工作:

const actionCodeSettings = {
  url: `http://localhost:3000/register/complete,
  handleCodeInApp: true
};
您的问题可能存在于以下url中:

url: `${window.location.protocol}//${window.location.host}/`,

当用户点击电子邮件链接时,他们会登陆到一个页面上。比如说
/register/complete

因此,您应该具有以下代码才能使其工作:

const actionCodeSettings = {
  url: `http://localhost:3000/register/complete,
  handleCodeInApp: true
};
您的问题可能存在于以下url中:

url: `${window.location.protocol}//${window.location.host}/`,

我不知道你是如何得到这个网址的。您从url中删除了apiKey以附加屏幕截图,或者您错误配置了某些内容,导致apiKey未包含在电子邮件验证链接中

为了验证我的假设,我创建了一个新的firebase应用程序,并将其部署到一个只有“发送电子邮件链接”按钮的应用程序中,该按钮将电子邮件发送给我自己,如果我单击电子邮件中收到的验证链接,电子邮件链接就会工作仅当我从电子邮件中的链接中删除apiKey时,它才起作用

您的电子邮件链接应为:


https://test-auth-79dae.firebaseapp.com/__/auth/action?apiKey={yourApiKey}&oobCode={obbCode}&continueUrl={urlParameter}&lang=en

我不确定您是如何获得此url的。您从url中删除了apiKey以附加屏幕截图,或者您错误配置了某些内容,导致apiKey未包含在电子邮件验证链接中

为了验证我的假设,我创建了一个新的firebase应用程序,并将其部署到一个只有“发送电子邮件链接”按钮的应用程序中,该按钮将电子邮件发送给我自己,如果我单击电子邮件中收到的验证链接,电子邮件链接就会工作仅当我从电子邮件中的链接中删除apiKey时,它才起作用

您的电子邮件链接应为:


https://test-auth-79dae.firebaseapp.com/__/auth/action?apiKey={yourApiKey}&oobCode={obbCode}&continueUrl={urlParameter}&lang=en

这个问题应该解决,这是Firebase端的问题。我也有同样的问题,通过他们的联系支持,他们向我保证这是他们的问题。

问题应该得到解决,这是Firebase方面的问题。我也有同样的问题,通过他们的联系支持,他们向我保证这是他们的问题。

谢谢!我试图硬编码的网址,但仍然有问题。无论是否硬编码,登录链接中的continueUrl都是相同的:“…continueUrl=…”您的url中不应该有%。我看到你有两个
/
。删除一个
/
,它应该可以工作。请确保url中没有多余字符或空白。谢谢!我试图硬编码的网址,但仍然有问题。无论是否硬编码,登录链接中的continueUrl都是相同的:“…continueUrl=…”您的url中不应该有%。我看到你有两个
/
。删除一个
/
,它应该可以工作。请确保url中没有多余字符或空白。谢谢。是的,由于某种原因API没有被传入。我确实用initializeApp配置了它,其他一切都可以正常工作<代码>firebase.initializeApp({apiKey:'abc123'})。我将检查API密钥为什么没有显示在电子邮件的URL中。检查您的电子邮件模板可能会在那里找到一些内容。我还没有时间查看,但URL中缺少的API密钥是100%的线索。另一个答案是一个有希望的线索(URL中的标签)。我现在要给这个人悬赏。谢谢大家!@事实上,我在电子邮件中尝试了url中的哈希标记,这不是问题,仅供参考。谢谢。是的,由于某种原因API没有被传入。我确实用initializeApp配置了它,其他一切都可以正常工作<代码>firebase.initializeApp({apiKey:'abc123'})。我将检查API密钥为什么没有显示在电子邮件的URL中。检查您的电子邮件模板可能会在那里找到一些内容。我还没有时间查看,但URL中缺少的API密钥是100%的线索。另一个答案是一个有希望的线索(URL中的标签)。我现在要给这个人悬赏。谢谢大家!@事实上,我在电子邮件的url中尝试了哈希标记,这不是问题,仅供参考。