微信内置浏览器cookie总是失效,已经设置cookie的时长仍旧不好使

搞开发的丁二狗 发布于 2018/11/01 11:10
阅读 9K+
收藏 0

开发了一个电商网站,属于微信公众号的二次开发。有用到会员输入账号密码登录功能。我写的原生js将会员的账号密码存入cookie中实现会员的自动登录。可是设置的cookie时长明明是365天,但是每个一段时间(有时候是几个小时,有时候1天)cookie就失效了。会员必须得重新手动登录,这样会员的体验感很差。下图是我写的原生js代码

求大佬解答一下,怎么破?

加载中
1
ncape
ncape

微信内置浏览器的cookie是不稳定,而且在个别手机或者有什么设置下 cookie是完全失效的。所以要利用微信每次的自动授权登录,获取的openid(openid和账号绑定)。就是 js 或服务器端 一旦发现cookie失效,自动跳转微信授权登录的链接,用openid来实现自动登录。

1
暴猿
暴猿

浏览器缓存登录信息的cookie既不安全也不合理   很容易被人恶意盗取   手机清理的时候也很容易丢失   建议放在session中或者就放在redis中

J
JunfengLiu
回复 @Kevin_YK : 可以放localstorage里
K
Kevin_YK
回复 @暴猿 : 我的意思是,你使用session,也得返回给前端sessionid吧,这个东东你存哪里?url上传递?不然服务端怎么知道当前是哪个会话
暴猿
暴猿
回复 @Kevin_YK : 如果你的应用没有做集群的话 就直接放在服务器就行了啊
K
Kevin_YK
请问你的seesionId放哪的
1
孤星闵月
孤星闵月
绑定微信的openID,调微信的网页授权
0
心怡meimei

楼上的麻烦加群进来一起交流学习探讨一下561316345

0
活着生而平等s
活着生而平等s

楼主解决了吗?

0
想做翻身的咸鱼

请问楼主得问题解决了吗    现在遇到一样的问题了

0
I
IT小胖子

我也遇到同样的问题,不管是localstorage 还是session都会有丢失的情况。长期默认登录一直没办法在前端实现。

最后解决方式: 就是账号密码同openId在后端进行绑定。每次进入公众号都会获取openId然后外键关联用户表获取账号密码,如果外键有值,能查询到账号密码,则默认为已经登录。修改密码、退出等操作 直接删除关联。

0
z
zb1485231621526

服务号认证了吗? 微信有个接口可以不用获得用户同意,就可以直接获取OPENID的, OPENID 和 session_id 绑定, 当session不存在的时候,就获取用户的openid来查到对应的session_id 就OK了。

返回顶部
顶部