欢迎访问广西陌上网络科技有限责任公司官网 · 专注企业数字化管理软件定制开发 客服热线:黄生 15678982250

网页微信扫公众号二维码登录培训系统

更新时间:2024-04-20 浏览:7923 标签:公众号 微信 二维码 登录 

一、微信服务号

1、注册微信公众号服务号,花300大洋/年认证,获取授权登录功能

2、登录公众号,左边菜单,设置与开发——基本设置
2.1 设置开发者密码,设置IP白名单

2.2 服务器配置,填写例子
服务器地址url,用来接收微信推送消息的网址,如:http://wx.xxxx.com/api/weixin/callmsg
令牌(token),自定义的字符串,相当于加密的钥匙,例如:abcdefg

消息加解密密钥,随机生成

消息加解密方式,兼容模式

设置好后,保存,会验证服务器地址是否能访问

微信推送的验证消息是:{"signature":"3206ae3f24c0820f727da31a1f16d325a3f14f11","echostr":"1020474280076623571","timestamp":"1713608707","nonce":"2029272216"}

获取timestamp,nonce两个字段,和定义的token,组成数组,升序排序,再拼接为字符串

sign=sha1(字符串)

判断(signature==sign)就输出echostr的值,验证通过

2.3 公众号设置——功能设置——网页授权域名


二、生成公众号二维码

微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

1、获取access_token

2、获取ticket

3、显示二维码

官方的代码拿来即可用,不再贴。


扫码后微信往上面设置的服务器地址推送一条扫二维码事件的消息

消息结构参考:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html

其中包含了用户的OPENID,记录到数据表中。

显示二维码界面做一个计时器判断用户登录情况


坑:我用的是TP,在获取微信消息推送时候踩到了,验证服务器的时候用input()可以获取到。

接收推送消息是XML结构要用php://input获取数据流方式。



0.088797s