Firebase对列入白名单的链接说“未列入白名单”

时间:2018-07-17 06:17:29

标签: android firebase firebase-authentication

我正忙于使用电子邮件魔术链接并使用此处的指南来设置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身份验证吗?如果是这样,我会在控制台中将域列入白名单,因为找不到它。

3 个答案:

答案 0 :(得分:5)

我知道了。如果您位于“身份验证”页面上的Firebase控制台上,则可以向下滚动,并且需要在此处将动态链接添加为列入白名单的域。

Scroll further down on this page

我在该页面上浏览了数十次,但从未见过可以向下滚动的指示。希望这对某人有帮助。

答案 1 :(得分:0)

我遇到了同样的问题,原因是我在Firebase中配置的SHA-1密钥错误。

答案 2 :(得分:0)

更多详情: 当我尝试sendSignInLinkToEmail这样

时会发生此问题
firebase
  .auth()
  .sendSignInLinkToEmail('someone@example.com', {
    url: 'my.custom.domain',
    handleCodeInApp: true
});

如果您在 Firebase 托管中使用默认域,那么在您添加自己的自定义域之前就可以了。

这可以通过在身份验证->登录方法->授权域

中将您的自定义域添加到Authorized Domains来解决