Google 登录:不是客户端的有效来源:http://localhost:3000 尚未被列入客户端 ID XXXXXXXXXXXX 的白名单

Posted

技术标签:

【中文标题】Google 登录:不是客户端的有效来源:http://localhost:3000 尚未被列入客户端 ID XXXXXXXXXXXX 的白名单【英文标题】:Google Sign-In: Not a valid origin for the client: http://localhost:3000 has not been whitelisted for client ID XXXXXXXXXXXX 【发布时间】:2021-04-28 09:03:07 【问题描述】:

这个问题在here之前也有人问过,但是不详细,也没有答案。所以我再次在这里发布。

我正在尝试实施 Google 登录。 首先,我必须在本地主机上对其进行测试,然后再推送到产品。 问题是在控制台中,登录页面一加载就会记录这个错误,而我没有点击任何东西:

"对于客户端来说不是一个有效的来源:http://localhost:3000 还没有被 客户 ID 列入白名单 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com。 请转至https://console.developers.google.com/ 并将其列入白名单 您项目的客户端 ID 的来源。”

我在授权的javascript来源中添加了localhost:3000: 但是,我不确定这正是他们所说的“将 http://localhost:3000 列入客户端 ID 的白名单。


注意:authorized javascript origins 中添加 localhost:3000 之前,当我点击登录按钮时,会显示此窗口:

添加后,该窗口成功显示我可以用来登录的谷歌帐户。 所以我猜 whitelisting 和添加到 authorized javascript origins 是两个不同的东西?

【问题讨论】:

【参考方案1】:

白名单与黑名单完全相反。白名单是有权访问您的程序的人员列表。您需要将自己列入白名单以允许自己访问您的程序并防止其他人利用您的程序,因为它仍在进行中,因此很容易受到攻击。您想将您的 IP 地址列入白名单,从而将您的 localhost 列入白名单。您可以通过在 google 中输入“我的 ip”来找到您的 IP 地址。

【讨论】:

您不能将自己的 IP 地址列入白名单。它说它不是一个有效的来源。 @AhmedGhrib - 只是为了检查一下,这是您尝试将其列入白名单的实际 IP(看起来像 80.10.185.60 )而不是像 localhost:3000 这样的东西? @d219 查看我上面的答案,我解决了这个问题。【参考方案2】:

添加我的 ip 地址解决了这个问题:

请注意,您必须在其末尾添加 "xip.io"

【讨论】:

以上是关于Google 登录:不是客户端的有效来源:http://localhost:3000 尚未被列入客户端 ID XXXXXXXXXXXX 的白名单的主要内容,如果未能解决你的问题,请参考以下文章

Google 跟踪代码管理器 API 错误“不是客户端的有效来源:http://localhost 尚未被列入客户端 ID 的白名单

微信小程序用户登录的全局变量是不是有有效期?

Session与Cookie

如何获取 Google Talk 聊天客户端的电子邮件(默认 IM)而不是公共 IM

尝试使用通过EJS传递给客户端的数据绘制多个Google Map标记/信息窗口时,initMap()不是一个函数

如何检查Google客户端API密钥是否对Google PHP API库有效?