Node Webkit 和 Google OAuth

5

我刚开始学习使用Node Webkit,目前只是通过iframe加载网站(我知道这不太好,但只要动手和花费一点时间就能完成工作)。

<iframe src="http://somewebsite.com"></iframe>

事情是这样的,我在网站上使用Google登录,它会在网站上创建一个弹出窗口。但在node-webkit中却不行,而且我找不到任何关于启用弹出窗口的文档...
我使用的Google登录代码是他们在网站上提供的默认代码: https://developers.google.com/accounts/docs/OAuth2Login 目前,在node-webkit配置中我没有设置任何令人兴奋的东西:
"window": {
    "toolbar": true,
    "width": 1024,
    "height": 768,
    "min_width": 300,
    "min_height": 300,
    "position": "center",
    "resizable": true,
    "show_in_taskbar": true,
    "icon": "www/resources/img/icon.png"
},

所以我的问题是,如何在iframe上启用弹出窗口,以使Google OAuth正常工作? 非常感谢您的帮助。

3
这是Node WebKit的限制,也是他们在GitHub上已知的问题,他们正在尝试解决这个问题,你可以查看他们的GitHub页面。 - Tim
我有同样的问题,你能解决吗?在版本> 0.10.5.rc1中使用此片段:nw.App.addOriginAccessWhitelistEntry('http://IPSERVER0 /','app','myapp',true);但在旧版本(如0.8.6)上不起作用。我在这里发布了我的问题:[link]http://stackoverflow.com/questions/26933087/how-to-apply-addoriginaccesswhitelistentry-on-node-webkit-0-8-6[/link] - cmarrero01
我希望能够解决这个问题。我之前甚至设置了赏金,但并没有得到回应。如果你找到了解决方案,请在这里告诉我们。 - denislexic
2个回答

1
我曾经也遇到过同样的问题,通过授权节点上下文访问远程站点,我成功解决了它。
只需在你的 package.json 文件中添加node-remote配置项即可。(但请注意,这可能会导致某些库以不同的方式加载,因为它们会检测到上下文的变化。)
{
    node-remote : "*" // Or the src url of your iframe
}

谷歌登录应该在此之后正常工作。

太棒了!感谢 @Guillaume Gacard - denislexic

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接