Firebase仅发送已过期的电子邮件验证链接

时间:2016-12-14 14:43:58

标签: javascript firebase firebase-authentication

我在收到验证邮件后立即点击验证链接,但答案仍然是:

  

再次尝试验证您的电子邮件   您验证电子邮件的请求已过期或链接已被使用

发送验证邮件的当前代码如下所示,并在注册后立即运行。

print data.decode('ascii', 'ignore') 

Heres their mantra: Eat less and exercise more. The secret to weight loss is energy balance. There are no good or bad calories. Its all about moderation.

print json.dumps(data)

"\ufeff\nHere\u2019s their mantra: \u201cEat less and exercise more. The secret to weight loss is energy balance. There are no good or bad calories. It\u2019s all about moderation.\u201d "

所需的firebase脚本包含如下:

firebase.auth().onAuthStateChanged(function(user) {
    user.sendEmailVerification();
});

启用电子邮件/密码作为登录方式。我将该设置与另一个具有工作验证邮件的Firebase项目进行了比较,但无法找到差异。

任何人都知道可能是什么问题?

5 个答案:

答案 0 :(得分:3)

答案就在这里:stackoverflow.com/a/38274531/213156非常感谢Travis Christian!

  

如果您在Google API控制台中列出了应用的API密钥的任何HTTP引荐来源,则需要包含电子邮件来源的应用本身:[app-name] .firebaseapp.com。否则,此域名对您的应用密钥无效。“

答案 1 :(得分:0)

Be sure your Sign-in providers have email and password Provider

确保您的登录提供者具有电子邮件和密码提供者

答案 2 :(得分:0)

如果有人还在寻找答案!

如果您限制了API密钥,请从下拉列表中选择 Firebase动态链接API 以允许动态链接。 Firebase在电子邮件中发送动态生成的链接,您应该允许。

答案 3 :(得分:0)

万一其他人也遇到此问题,我的问题是我没有选择支持电子邮件。选择一个为我修复它。

答案 4 :(得分:0)

这就是我解决的方法,与其他人建议的方法略有不同: 首先确实检查电子邮件链接中使用了哪个 API KEY,在我的情况下是 PROD 密钥,即使我使用 DEV(不受限制)启动项目也是如此。

最重要的是:在 Website restrictions section of your API KEY 中添加 <app-name>.firebaseapp.com. 是不够的:您需要添加完全限定的域,包括 https:https://<app-name>.firebaseapp.com. 这为我解决了问题。< /p>