来自不同域的弹出窗口和开启者之间的通信

时间:2014-02-06 08:51:53

标签: javascript cordova oauth-2.0 local same-origin-policy

我正在使用Phonegap(本地文件系统上的js,css和html)编写应用程序,我想从中获取一个oauth令牌。 所以我打开一个弹出窗口来显示我们的认证服务器页面。在登录过程之后,它被重定向到我提到的页面,在其URL中提供代码。

重定向页面似乎不能是本地文件(“不允许加载本地资源:file:// ...”)。 如果我重定向到使用http访问的页面,我遇到了“同源策略”的问题(SecurityError:阻止了一个带有原点“http:// ...”的帧来访问跨源帧),我不能使用window.opener从弹出窗口访问主页面(在本地文件系统上)。

如何将弹出窗口中的代码传递给本地文件(存储,webSocket,其他任何东西)?

1 个答案:

答案 0 :(得分:0)

您是否可以使用InAppBrowser导航到此身份验证页面? (点击此处查看更多信息:http://cordova.apache.org/docs/en/3.3.0/cordova_inappbrowser_inappbrowser.md.html)。

我不确定您的网页如何返回数据,但我确信您可以将生成的数据从InAppBrowser返回到您的应用。