我试图添加一个谷歌登录认证系统到我的应用程序,但我一直得到一个奇怪的错误,我没有看到任何人得到。我使用完全谷歌的例子代码。
我认为加载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策略'。
我的理论,为什么谷歌不会解决这个问题:
-
他们想让人们使用付费的OAuth2终端
-
他们想知道谁收到了令牌,如果可能的话(通过证书颁发机构)
我在一个创建-反应-应用程序中使用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()