微信公众号用户授权登录逻辑

在这里插入图片描述
我们知道,微信开发离不开openid(为了识别用户,每个用户针对每个公众号会产生一个安全的openid).而通常我们获取openid,以及获取用户的基本信息是通过用户授权的方式进行获取。那么ok,怎样通过授权方式获取呢,看上面的流程图中的code(此code是由微信为我们提供,只能使用一次),并且该code只有当我们点配置的菜单时(配置菜单要使用用户授权的方式配置),才能获取到。所以当用户点击菜单时:

一:我们先判断该code,如果不为null,通过该code获取openid。

二:拿到openid后,我们去数据库通过openid查询用户信息,如果返回有结果说明该用户已经登录过,将用户信息放置session中,跳转到登录后的页面

三:拿到openid后,如果我们去数据库没有查询到用户信息,说明该用户没有登录过,跳转到登录页面,让用户登录,登录完将openid与用户信息插入到数据库,并放置session中,跳转到登录后的页面。

四:如果code为null,我们从session中直接取用户信息(注意session过期的处理),如果取到用户信息,进入到登录后的页面

五:如果code为null,并且session过期,或者没有获取到用户的信息,跳转到微信授权的地址,重新走流程,形成循环。

这样,我们就能保证用户一次登录,永久不用登录的效果了,其实最主要还是要搞清openid,每个用户针对同一个公众号,此openid是永远不会变的,哪怕是你取消了重新关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值