【问题标题】:Using persist cookies with react on mobile devices在移动设备上使用持久 cookie 和 react
【发布时间】:2021-05-09 09:15:27
【问题描述】:
从应用程序 cookie 存储和加载令牌 cookie 时,我在 PWA(渐进式 Web 应用程序)中加载令牌 cookie 时遇到问题。在桌面网络(浏览器)上,cookie 正常显示,可以正常加载/恢复。在移动设备上,即使 PWA 作为 Web 应用程序安装在 Android 设备上,cookie 也会在一段时间后消失(通常在半小时内)。这正是 cookie 过期的默认设置。
Cookie 的默认过期时间为 30 分钟。
问题:如何解决?
问题 2:为什么它在桌面浏览器上的工作时间更长?
【问题讨论】:
标签:
javascript
reactjs
cookies
browser
progressive-web-apps
【解决方案1】:
问题 1 的答案是明确设置 cookie 的过期时间。
只有这样,移动设备才会将 cookie 从会话 cookie 设置为长寿命的,移动浏览器会再次识别它并可以加载和恢复 cookie。
纯 JavaScript:
var timeInSeconds = 60;
document.cookie = 'token=XX;expires='+timeInSeconds+';path=/';
使用 js-cookies:
var timeInDays = 1;
Cookies.set("token", "XX", {
expires: timeInDays,
path: "/",
});