我正在Ionic 2中创建一个应用程序,它会消耗现有网站的网络API。要使用此API,我必须通过以下方式在其中进行athenticate(类似于facebook登录):
这在模拟器中运行良好,但它在浏览器中没有工作(使用离子服务器),因为当我调用InAppBrowser时,它实际上调用了window.open,并且事件不起作用。我无法检测到在打开的窗口中进行的重定向操作。
我希望在浏览器中完成这项工作,因为它可以更好地在那里调试应用程序。我的第一个想法是发送" http://localhost:8001"作为返回网址,但我找不到在离子应用程序中捕获令牌参数的方法。
有谁知道如何捕获此参数或任何其他方式使此登录在浏览器中工作?它仅用于开发和调试目的,因此严格的安全性不是问题(我可以在生产版本中注释掉任何不安全的代码)。
编辑:海登布拉克斯顿的回答没有解决我的问题,但由于这是因为我的应用程序专属的东西,它可以真正帮助想要使插件工作的人,我会保持它选定的答案。除此之外,我会分享我找到的问题解决方案,以防它可以帮助任何人。实际上很简单:
this.platform.getQueryParam("token");
获取令牌。答案 0 :(得分:1)
添加
"browser": "ionic-app-scripts serve --iscordovaserve --sourceMap source-map --wwwDir platforms/browser/www/ --buildDir platforms/browser/www/build",
到package.json的脚本部分。然后运行
而不是做离子服务npm run browser
我们使用ionic2来开发我工作的应用程序,这是我们经过一些研究后想出来的。
在使用之前,您需要添加浏览器平台。您可以通过以下方式完成此任务:
ionic add platform browser
如果已添加浏览器平台,请从您的平台目录中删除浏览器目录,然后运行add platform命令,只是为了安全起见。