log*_*ins 7 javascript single-sign-on cordova ionic-framework cordova-plugins
我正在使用Ionic 2构建移动版Web应用程序,该应用程序使用SAML进行客户端服务器上运行的SSO.现在我们有一个api,当你没有登录到重定向到他们的服务器进行SSO的网站时被调用,然后在你登录时返回我们的服务器.然后,浏览器有cookie来存储用户登录的.
我需要拿那个cookie然后把它拿到我的Ionic应用程序中.我知道您无法将InAppBrowser中的cookie共享回应用程序,但必须有一些方法可以将其恢复.足够的应用程序使用Twitter,Facebook等我认为有一些我想念的简单.
是的,由于域策略的原因,这非常困难,并且 inAppBrowser 是一个新实例,不允许以前的 Web 视图访问它。
然而,有一种方法可以使用 InAppBrowser 的executeScript()方法让您在打开的窗口中执行 JavaScript。
var win = window.open( "http://icenium.com", "_blank", "EnableViewPortScale=yes" );
win.addEventListener( "loadstop", function() {
win.executeScript({ code: "alert( 'hello' );" });
});
Run Code Online (Sandbox Code Playgroud)
您甚至可以提供回调以从打开的窗口检索值
var win = window.open( "http://icenium.com", "_blank", "EnableViewPortScale=yes" );
win.addEventListener( "loadstop", function() {
win.executeScript(
{ code: "document.body.innerHTML" },
function( values ) {
alert( values[ 0 ] );
}
);
});
Run Code Online (Sandbox Code Playgroud)
然后你可以使用返回值将其保存在local storage
| 归档时间: |
|
| 查看次数: |
3877 次 |
| 最近记录: |