我正忙于使用电子邮件魔术链接并使用此处的指南来设置Firebase身份验证:
https://firebase.google.com/docs/auth/android/email-link-auth
它说我需要将一个域列入白名单,但是除了我创建的动态链接之外,我无法在控制台中找到任何其他位置。我尝试运行以下代码,但得到
[UNAUTHORIZED_DOMAIN:该域未被项目列入白名单]
val actionCodeSettings = ActionCodeSettings.newBuilder()
// URL you want to redirect back to. The domain (www.example.com) for this
// URL must be whitelisted in the Firebase Console.
.setUrl("https://myapphere.page.link/register") //I created this dynamic link in the firebase console
.setHandleCodeInApp(true)
.setAndroidPackageName(
"com.myapphere",
true,
"1")
.build()
val auth = FirebaseAuth.getInstance()
auth.sendSignInLinkToEmail(email, actionCodeSettings)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// Sign in success, update UI with the signed-in user's information
} else {
// If sign in fails, display a message to the user.
}
}
我不应该使用动态链接进行Firebase身份验证吗?如果是这样,我会在控制台中将域列入白名单,因为找不到它。
答案 0 :(得分:5)
我知道了。如果您位于“身份验证”页面上的Firebase控制台上,则可以向下滚动,并且需要在此处将动态链接添加为列入白名单的域。
我在该页面上浏览了数十次,但从未见过可以向下滚动的指示。希望这对某人有帮助。
答案 1 :(得分:0)
我遇到了同样的问题,原因是我在Firebase中配置的SHA-1密钥错误。
答案 2 :(得分:0)
更多详情:
当我尝试sendSignInLinkToEmail
这样
firebase
.auth()
.sendSignInLinkToEmail('someone@example.com', {
url: 'my.custom.domain',
handleCodeInApp: true
});
如果您在 Firebase 托管中使用默认域,那么在您添加自己的自定义域之前就可以了。
这可以通过在身份验证->登录方法->授权域
中将您的自定义域添加到Authorized Domains
来解决