gpt4 book ai didi

android - Ionic Cordova Web 应用程序 cookie 未存储在 Android 或 iOS 上

转载 作者:行者123 更新时间:2023-11-29 05:12:24 34 4
gpt4 key购买 nike

我的公司已经构建了一个中等规模的 Ionic 应用程序,现在我们正在尝试为 Android 和 iOS 提供本地可用的应用程序,但我遇到了持久 cookie 的问题。

运行应用程序 Safari 时完全没有问题,cookie 保存得很好,但是在为设备构建时,cookie 不会被保存。

现在的工作方式是当用户登录时,服务器会返回一个 cookie。此后,cookie 应随每个后续请求一起发送,以确保用户仍处于登录状态。当我登录后查看服务器的初始响应时,“set-cookie” header 就在那里。但是,之后的所有请求都不包含 cookie,因此服务器返回未登录的响应。只有在 iOS 或 Android 上 native 运行时才会发生这种情况。

当我调试以查看 cookie 是否被保留时,我发现没有 cookie。

我知道 iOS 13 也有类似的问题,但我没有使用 iOS 13,我使用的是 iOS 12。我的问题同时出现在 Android 和 iOS 上。在进行 Google 搜索时,我看到的所有解决方法都是针对与我遇到的问题不同的问题,而且我已经尝试过这些解决方法,但它们不起作用。

以前有人遇到过这个问题吗?任何关于这可能是什么以及如何解决它的想法将不胜感激,我还没有得到任何结果,而且我已经寻找答案好几天了。

此外,由于 cookie 是 HttpOnly,我无法使用 TypeScript 进行访问,因此我无法在不发送非 HttpOnly cookie 的情况下手动保留 cookie。目前这并不是一个真正的选择。

最佳答案

我在 cookies 和 Cordova 方面也遇到了一些麻烦。

就我而言,插件 cordova-plugin-cartegraph-cookie-master 帮助我获取和设置 cookie。

源插件:

https://www.npmjs.com/package/cordova-plugin-cartegraph-cookie-master

安装:

cordova plugin add cordova-plugin-cartegraph-cookie-master

用法:获取cookie值:

cookieMaster.getCookieValue('http://<some host>:<some port>', '<cookie name>', function(data) {
console.log(data.cookieValue);
}, function(error) {
if (error) {
console.log('error: ' + error);
}
});

设置cookie值:

cookieMaster.setCookieValue('http://<some host>:<some port>', '<cookie name>', '<cookie value>',
function() {
console.log('A cookie has been set');
},
function(error) {
console.log('Error setting cookie: '+error);
});

关于android - Ionic Cordova Web 应用程序 cookie 未存储在 Android 或 iOS 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59559566/

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