Web项目增加微信自动登录

流程: 『公众号』配置请求发到『用户中心』;当用户在『公众号』内点击『业务系统』入口连接时,会请求『用户中心』;『用户中心』与『微信服务器』交互获取OpenI

流程:

  1. 『公众号』配置请求发到『用户中心』;
  2. 当用户在『公众号』内点击『业务系统』入口连接时,会请求『用户中心』;
  3. 『用户中心』与『微信服务器』交互获取OpenId;
  4. 『用户中心』根据OpenId确定微信用户,校验该用户是否已经绑定『业务系统』的帐号;绑定了回传userId,执行5;没绑定回传wechatId,执行6;
  5. 『业务系统』根据用户中心回传的userId登录系统;
  6. 『业务系统』显示用户登录界面,用户登录后,将userId和wechatId回传给『用户中心』;
  7. 『用户中心』根据6『业务系统』回传的userId和wechatId绑定,下次可以执行4-5流程,实现自动登录;

演示:

公众号中请求的url:

http://用户中心域名/Interface/wechatAutoLogin?hwId=5&r=http://tcmdeploy.shhwxx.com.cn/users/login&appId=djfewwe×tamp=4782838&signature=fjiewjflsjdfijewifjliwejflijweifjweif

签名算法:

微信服务器回调的URL:

已绑定用户

http://业务系统域名/users/login/?userId=1×tamp=1540800576&signature=8a7ea4f1b217939eeea675eb89842ca3415fc502

未绑定用户

http://业务系统域名/users/login/?wechatId=3×tamp=1540800576&signature=8a7ea4f1b217939eeea675eb89842ca3415fc502

代码参考:

 

https://github.com/hanjing5024064/mycakephp3