Firebase 对列入白名单的链接说“域未列入白名单”
Posted
技术标签:
【中文标题】Firebase 对列入白名单的链接说“域未列入白名单”【英文标题】:Firebase says "Domain not whitelisted" for a link that is whitelisted 【发布时间】:2018-12-24 17:51:44 【问题描述】:我正忙于使用电子邮件魔术链接设置 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 身份验证吗?如果是这样,我在控制台的哪个位置将域列入白名单,因为我找不到它。
【问题讨论】:
【参考方案1】:-
转到 Firebase 控制台
单击身份验证菜单 > 登录方法选项卡
向下滚动到授权域
单击“添加域”按钮,添加您的域(带参数的网站域)并单击“添加”
【讨论】:
也许您可以多解释一下“域”的含义。它可以是 com.yourcompany.yourappname 之类的应用程序域,也可以是 yourcompanyappname.com 之类的网站域。对于较新的开发人员,这些信息可能很有用。在您的情况下,它可能是 setUrl 上的 myapphere.page.link,但最好提一下。 我可以在授权域下使用 com.yourcompany.yourappname 作为域名吗?【参考方案2】:我遇到了同样的问题,原因是我在 Firebase 中配置的 SHA-1 密钥错误。
【讨论】:
你能说得更详细些吗?该密钥在哪里配置?你的配置有什么问题?【参考方案3】:更多详情:
当我尝试像这样sendSignInLinkToEmail
时会发生此问题
firebase
.auth()
.sendSignInLinkToEmail('someone@example.com',
url: 'my.custom.domain',
handleCodeInApp: true
);
如果您在 Firebase 托管中提供了默认域,那么在您添加自己的自定义域之前就可以了。
这可以通过在身份验证 -> 登录方法 -> 授权域
中将您的自定义域添加到Authorized Domains
来解决
【讨论】:
【参考方案4】:为了克服这个错误,我必须做:
const actionCodeSettings =
¦ // URL you want to redirect back to. The domain (www.example.com) for this
¦ // URL must be in the authorized domains list in the Firebase Console.
¦ url: 'https://example.com',
¦ handleCodeInApp: true,
;
然后将example.com
和www.example.com
添加到我的授权域。
【讨论】:
以上是关于Firebase 对列入白名单的链接说“域未列入白名单”的主要内容,如果未能解决你的问题,请参考以下文章
在不将 ip 列入白名单的情况下限制对 S3 托管网站的访问