gapi.auth2.ExternallyVisibleError: Invalid cookiePolicy



我试图添加一个谷歌登录认证系统到我的应用程序,但我一直得到一个奇怪的错误,我没有看到任何人得到。我使用完全谷歌的例子代码。

我认为加载api时可能会出现一些错误,所以我检查了异步加载,一切似乎都加载正常,但我一直在控制台上得到这个错误:

gapi.auth2。ExternallyVisibleError: Invalid cookiePolicy

我到处找有同样问题的人,但没有找到任何相似的。

任何想法?

编辑:我尝试用教程的代码创建一个页面,但错误仍然发生

嗯,原来我试图通过直接访问本地文件(index.html)来测试API。Google Sign In API仅在运行的web服务器上工作。我启动了一个简单的node.js服务器,通过这个服务器运行我的应用程序,一切都很好。

正如KoJoVe已经回答的那样,您需要在web服务器中运行。如果你使用Python 2.7,你可以使用python -m SimpleHTTPServer 8000,然后在浏览器上使用localhost:8000

我一直试图得到一个chrome扩展工作了很长一段时间,我最近决定点击进入错误。原因是因为谷歌平台脚本检查window.location.protocol(这不是https chrome扩展),并抛出错误'无效的cookie策略'。

我的理论,为什么谷歌不会解决这个问题:

  1. 他们想让人们使用付费的OAuth2终端

  2. 他们想知道谁收到了令牌,如果可能的话(通过证书颁发机构)

我在一个创建-反应-应用程序中使用react-google-login有这个问题,我发现我正在访问http://[::1]:3000/sign_in而不是localhost的页面。

我认为谷歌不喜欢127.0.0.1::1,因为我们直接暴露了IP或其他东西

当我改变到localhost:3000,它工作

这在我使用python 3的情况下有效:

打开python终端并编写以下代码:

from http.server import SimpleHTTPRequestHandler as handler
import socketserver as socket
httpd = socket.TCPServer(("",8000),handler)
httpd.serve_forever()

最新更新