在接受的答案的评论中,我注意到我应该将我的firebase版本设置为4.3.1,而不是我的上一个版本4.2.0
嗨,这应该是相当简单的,我正在关注文档:firebase passing state in email actions以及changing the default email-handler
我希望在用户验证他的电子邮件到新网址后重定向用户。该URL已位于firebase中的Authenticated域中。
我也已经有了actionCodeSettings:
var actionCodeSettings = {
url: 'http://myurl.io/join',
iOS: {
bundleId: 'com.myurl.ios'
},
android: {
packageName: 'com.myurl.android',
installApp: false,
minimumVersion: '12'
},
handleCodeInApp: false
};
function sendEmailVerification() {
console.log('sendEmail Verification');
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings).then(function() {
});
}
如果我理解正确,我现在需要实现从另一个答案中找到的getParameterByName。我的两个问题是:
1)默认操作网址为https://faros-fe2f5.firebaseapp.com/__/auth/action。我应该改变这个吗?它将根据我的actionCodeSettings自动更改
2)在第113行,我们有感兴趣的函数,它接受通过getParameterByName检索的参数。在这一点上,continueUrl是如何调用的?
我发现文档在这个问题上有点模糊。在此阶段,我想在电子邮件验证完成后重定向用户
答案 0 :(得分:3)
1)默认操作网址为https://faros-fe2f5.firebaseapp.com/__/auth/action。我应该改变这个吗?它将根据我的actionCodeSettings自动更改
如果您要在自己的页面中处理验证链接,可以将其更改为您自己的链接,但这只能在Firebase控制台中完成 - >验证 - >电子邮件模板部分
continue URL('http://myurl.io/join')是最终的重定向链接,它将嵌入到链接的continueUrl
查询参数中。您通常会在完成电子邮件验证后,显示一个继续按钮以转到该链接。这可以从客户端传递,并且必须是列入白名单的域。
2)在第113行,我们有感兴趣的函数,它采用通过getParameterByName检索的参数。在这一点上,continueUrl是如何调用的?
如果您使用的是自己的电子邮件操作网址,而不是上面的.../__/auth/action
链接,则只需要写入此内容。
您应该在应用电子邮件验证后,显示一个继续按钮以返回该链接。
我建议您尝试使用默认小部件的流程,单击链接,验证电子邮件,然后单击继续按钮。您可以模仿它并基于此构建自己的自定义目标网页。