首页 > 解决方案 > 为什么我得到 UNAUTHORIZED_DOMAIN:Domain 没有被项目列入白名单?

问题描述

我正在尝试对 firebase 进行电子邮件身份验证。我正在关注文档,但出现此错误:

UNAUTHORIZED_DOMAIN:Domain not whitelisted by project

我看到了这个灵魂: Firebase Auth/unauthorized domain。域未授权

它没有用,所以我去尝试创建一个动态链接,因为我在这里看到我需要创建动态链接: Firebase 对列入白名单的链接说“域未列入白名单”

这也没有用。我在尝试创建动态链接时得到:

An error occurred when creating a new Dynamic Link

所以我去尝试了这个: Firebase 控制台创建动态链接错误

仍然是同样的问题

所以现在我不知道还能做什么。

编码:

 private void sendEmail(String email) {
        Log.d(TAG, "sendEmail: here in sendEmail");
        String url = "https://.........";
        ActionCodeSettings actionCodeSettings = ActionCodeSettings.newBuilder().setUrl(url)
                .setHandleCodeInApp(true)
                .setAndroidPackageName("com.myapp_pack.my_app_name", true, "12").build();


    auth.sendSignInLinkToEmail(email, actionCodeSettings).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                Log.d(TAG, "onComplete: email sent homie!");
            } else{
                Log.d(TAG, "onComplete: task failed " + task.getException().getMessage());
            }
        }
    });
}

标签: javaandroidfirebase-authentication

解决方案


这对我很有用,使用 Firebase v.9(当前最后一个版本是 2022 年 1 月)

尝试不创建动态链接,但检查您是否不仅列出“localhost”(或您将在哪里为项目提供服务),还列出您传递给作为“sendSignInLinkToEmail”的第三个参数传递的对象的 url 属性的 url。例子:

const config = {
    url: "https://example.com/",
    *...other properties*
  };

  sendSignInLinkToEmail(auth, email, config).catch((error) => {
    console.log(error);
  });

在这种情况下,您将转到 firebase 控制台并添加白名单“example.com”。


免责声明:检查这解决了我的问题,因为我无意中只是将我在开发模式下为我的项目提供服务的 url 列入白名单。


推荐阅读