我正在开发一款需要使用外部链接登录的Ionic 2应用程序。出于安全原因,我宁愿在系统浏览器中打开链接。打开链接并使用用户名&登录后密码,一个令牌将在html的正文中返回。有没有办法将该令牌传递给我的应用程序?或者还有其他解决方案可以解决这个问题吗?谢谢。
答案 0 :(得分:0)
这是非常概念性的,但你可以使用cordova插件inappbrowser打开应用程序内的浏览器,听取退出事件等待用户关闭应用内浏览器,然后注入脚本从html中检索令牌,如:
inAppBrowserRef = undefined;
showLogin(url) {
var target = "_blank";
var options = "location=yes,hidden=yes";
this.inAppBrowserRef = cordova.InAppBrowser.open(url, target, options);
with (this.inAppBrowserRef) {
addEventListener('exit', this.exitCallBack);
}
}
exitCallBack(params) {
captureToken = "return token = [[jquery to retrieve the token]]";
this.inAppBrowserRef.executeScript({ code: captureToken}, this.executeScriptCallBack);
this.inAppBrowserRef.close();
this.inAppBrowserRef = undefined;
}
executeScriptCallBack(token) {
this.token=token;
}