gpt4 book ai didi

javascript - 从 Ionic 2 中的 Cordova InAppBrowser 取回 cookie

转载 作者:数据小太阳 更新时间:2023-10-29 04:49:13 30 4
gpt4 key购买 nike

我正在使用 Ionic 2 构建 Web 应用程序的移动版本,该应用程序使用 SAML 进行 SSO,在我的客户端服务器上运行。现在我们有一个 api,当您未登录网站时会调用它,该网站会重定向到他们的服务器以进行 SSO,然后在您登录时返回到我们的服务器。然后,浏览器有 cookie 来存储用户已登录.

我需要获取该 cookie 并以某种方式将其发送到我的 Ionic 应用程序。我知道您不能将 cookie 从 InAppBrowser 共享回应用程序,但必须有某种方法才能将其取回。足够多的应用程序使用 Twitter、Facebook 等,我认为我缺少一些简单的东西。

最佳答案

是的,这是众所周知的困难,因为域策略和 inAppBrowser 是一个新实例,不允许以前的 Web View 访问它。

有一种方法可以使用 InAppBrowser 的 executeScript() 方法让您在打开的窗口中执行 JavaScript。

var win = window.open( "http://icenium.com", "_blank", "EnableViewPortScale=yes" );
win.addEventListener( "loadstop", function() {
win.executeScript({ code: "alert( 'hello' );" });
});

You can even provide a callback to retrieve values from the opened window

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 ] );
}
);
});

然后您可以使用返回值将其保存在本地存储

This site provides some great code to help you out.

关于javascript - 从 Ionic 2 中的 Cordova InAppBrowser 取回 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712824/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com