1

后端发送的 cookie 被存储,但不是应用程序本身设置的。以下代码:

document.cookie = "notified=1; path=/; expires=Tue, 19 Jan 2038 03:14:07 GMT";
console.log(document.cookie);

返回空字符串 ("")。Angularjs $cookies.put 也不起作用。

此外,在 Safari 网络检查器中,localhost cookie 列表保持为空。这仅在iOS中,在Android上没有问题。有没有机会让它发挥作用?我尝试了 cordova-plugin-wkwebview-cookie-sync 插件,但它可能适用于后端设置的 cookie,它对我的​​问题没有帮助。

4

1 回答 1

1

由于某些安全限制,Cookie 在使用 WkWebView 的 ios 应用程序中不起作用。Cookies 只能由后端设置。在 IOS 中,甚至在从后端设置 cookie 时也会出现一些(同步)问题。但是这些问题可以通过使用您提到的插件来解决。

为了安全起见,我建议您使用 localStorage,如果您想将一些数据传递给服务器,您应该将它们作为 API 有效负载传递,或者您可以在标头中设置这些值。在服务器端,您应该从标头中选择这些值。我一直在遵循这种方法。

于 2020-10-16T06:57:55.300 回答