微信扫码 - 关注公众号后网站自动登录🔒

大概流程是:点击微信登录,网站自己弹出一个二维码、扫描二维码后弹出公众号的关注界面、只要一关注公众号网站自动登录、第二次扫描登录的时候网站直接登录。这种扫码登录的方式个人觉得非常利于推广公众号。

大概流程是:点击微信登录,网站自己弹出一个二维码、扫描二维码后弹出公众号的关注界面、只要一关注公众号网站自动登录、第二次扫描登录的时候网站直接登录。这种扫码登录的方式个人觉得非常利于推广公众号。

大家可以体验一下 「这种登录方式」

前期准备

  • 服务号(或者微信测试账号)
  • EasyWeChat 扩展包

简单的解释一下扫描这个带参二维码有什么不同:

  • 扫描二维码,如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值(自定义值)关注事件推送给开发者。
  • 扫描二维码,如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值(自定义值)扫码事件推送给开发者。

看到这里相信你已经明白了,梳理一下:

  • 生成二维码的时候你自定义一个参数到二维码中,顺便把这个参数传到前端页面中。
  • 前端页面根据这个参数轮询用户登录状态(也可使用 socket)。
  • 用户扫码关注后会推送一个关注事件到服务端,也会把自定义参数带入到事件中。
  • 根据 openid 创建用户后,然后在 Redis 中存储 Key 为场景值(自定义参数) Value 为用户创建后的 id。
  • 前端轮询方法中如果在 Redis 中获取到 Id 后,Auth 登陆,页面再重载一下,流程完毕。

还有一种是用于有账号的用户,先账号密码登录,再扫码(使用过):

  • 生成带login参数的临时二维码的时候,将二维码的ticket更新到数据库该用户下,默认状态为未使用
  • 用户扫码,微信会推送一个扫码事件,也会把自定义参数login带到事件中,改变二维码状态为已使用
  • 前端进到扫码页面的同时就开始轮询扫描结果接口,状态为已使用则扫码登录成功
  • 未关注的用户,会先根据openid获取用户信息并写入数据库,关注过的则数据库有数据,做相关更新操作。

最后送个自己💪

全世界就一个独一无二的你,请一定:真诚做人,努力做事!你想要的,岁月都会给你。

⬆️

写的不错,赞助一下主机费

扫一扫,用支付宝赞赏
扫一扫,用微信赞赏

暂无评论~~