微信openid如何携带问题

7small7 发布于 2017/03/20 10:01
阅读 1K+
收藏 0

NGINX社区官方微服务训练营,深入了解K8s网络,线上课程+专家答疑,立即加入>>>

所属类型

微信公众号开发

问题描述

当用户第一次进入一个公众号时,我们可以提醒他进行网页授权,从而获取到用户的openid,当用户第二次进入,就不再需要再次进行网页授权了。并且用户在微信公众号内部的进行任何页面的跳转或操作,都能获取到用户的openid,但是不能把用户的opendid放在url上面作为参数,特此请教各位有什么好的方法解决没。

现目前,本人想到的是存取cookie,定时失效,在重新授权。

加载中
0
卡卡嘎嘎嘎
卡卡嘎嘎嘎

你存session里就可以了,第一次进页面授权获取openid,然后存入session中,第二次进入,session中有,就直接跳过授权。

7small7
7small7
存取session是可以实现,但是如果多个用户,我怎么判别他进来的用户,去判断对应的session值呢?望多多指导
0
无心睡眠s
还可以放在分布式缓存里
无心睡眠s
类似redis这样的工具
7small7
7small7
分布式缓存?没弄过,望大神进一步点播下。十分感谢
0
萧雨o
萧雨o

本地保存,比如mysql。采用用户登陆模式来控制。

比如:首次访问,肯定是未登陆状态,通过微信的API授权登陆获取OpenId后,判断这个OpenId是否已在系统注册过,没有就用这个OpenId注册一个系统用户,同时自动登陆(写Session)。如果有,就直接在系统中设为登陆(写Session)。

用户第二次进入,判断是否在系统登陆,因为上面已经写入到session,所以在其有效期内肯定是登陆状态的。就不需要重新微信授权了。同时,因为openId是记录到mysql的。所以,以后直接从mysql(或者当前登陆用户的session)中获取就好了。

 

萧雨o
萧雨o
该评论暂时无法显示,详情咨询 QQ 群:点此入群
萧雨o
萧雨o
该评论暂时无法显示,详情咨询 QQ 群:点此入群
7small7
7small7
回复 @萧雨o : 如果用户在一次进来,我该怎么获取他的openid,来与数据库判断是否存在呢?不可能在让他在进行一次授权吧?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部