我有一个使用firebase.auth()。createUserWithEmailAndPassword注册用户的表格,效果很好。
但是我想发送一个验证链接,Firebase帮助告诉我我必须使用actionCodeSettings
。
但是文档记录远没有帮助。
你们可以帮我一些建议吗?
var actionCodeSettings = {
url: 'https://newagent-48d6b.firebaseapp.com/__/?email=' + firebase.auth().emailUser,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true,
dynamicLinkDomain: "example.page.link"
};
firebase.auth().sendSignInLinkToEmail(emailUser, actionCodeSettings)
.then(function() {
window.localStorage.setItem('emailForSignIn', emailUser);
console.log("rocks")
})
.catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode + errorMessage);
});
控制台日志: auth / invalid-dynamic-link-domain未为当前项目配置或授权提供的动态链接域。
提前很多!
答案 0 :(得分:0)
这意味着您使用的动态链接的域未经授权,您可以通过Firebase console-身份验证->登录方法授权域
bundleId: 'com.example.ios'
packageName: 'com.example.android',
dynamicLinkDomain: "example.page.link"
这只是示例数据,您仍然需要在此处填写实际的应用程序设置,获得auth/invalid-dynamic-link-domain
意味着您可能已经离开了dynamicLinkDomain: "example.page.link"
dynamicLinkDomain
不是必填字段,因此您可以将其删除url
中使用的所有域列入白名单。 *.firebaseapp.com
应该已经为您列入白名单。要允许域从Firebase控制台转到“身份验证”页面为了能够处理应用程序(handleCodeInApp: true
)中的代码,还有其他特定于项目的配置