微信公众号二维码登录

微信扫码登录:
方式1、微信开放平台:第三方应用接入,依赖公司在【微信开放平台】用【公司营业执照】注册的账号,才能实现扫码登录 微信开放平台
方式2、微信公众平台:扫码通过微信公众号授权登录的,借助个人或者公司的微信公众号,生成微信带参二维码,实现扫码关注公众号后登录

 我只研究了第2种方式,下面是详细介绍:

1.交互图

2.生成带参二维码(不同场景值)

官方文档:微信开放文档

1.获取token

2.根据token获取带参二维码

3.回调事件

接收事件消息(处理扫码结果)

  • 关注/取消关注事件 subscribe/unsubscribe
  • 未关注扫码带参二维码事件 subscribe
  • 已关注扫码带参二维码事件 scan

请求包体

关注/取消关注事件
<xml>
    <ToUserName><![CDATA[toUser]]></ToUserName> <!-- 开发者微信号 扫描时使用的微信号-->
    <FromUserName><![CDATA[FromUser]]></FromUserName> <!-- 发送方账号(一个OpenID)微信官方生成-->
    <CreateTime>123456789</CreateTime> <!-- 消息创建时间 (整型)-->
    <MsgType><![CDATA[event]]></MsgType> <!-- 消息类型,event-->
    <Event><![CDATA[subscribe]]></Event> <!-- 事件类型,subscribe(订阅)、unsubscribe(取消订阅)-->
</xml>
扫描带参数二维码事件
1. 用户未关注时,进行关注后的事件推送
<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName> <!--同上-->
  <FromUserName><![CDATA[FromUser]]></FromUserName> <!--同上-->
  <CreateTime>123456789</CreateTime> <!--同上-->
  <MsgType><![CDATA[event]]></MsgType> <!--同上-->
  <Event><![CDATA[subscribe]]></Event> 事件类型,subscribe-->
  <!--  
      事件KEY值,qrscene_为前缀,后面为二维码的参数值 
      二维码参数值:创建二维码时的uuid
  -->
  <EventKey><![CDATA[qrscene_123123]]></EventKey> 
  <Ticket><![CDATA[TICKET]]></Ticket> <!--二维码的ticket,可用来换取二维码图片-->
</xml>
扫描带参数二维码事件
2. 用户已关注时的事件推送
<xml>
  <ToUserName><![CDATA[toUser]]></ToUserName> <!--同上-->
  <FromUserName><![CDATA[FromUser]]></FromUserName> <!--同上-->
  <CreateTime>123456789</CreateTime> <!--同上-->
  <MsgType><![CDATA[event]]></MsgType> <!--同上-->
  <Event><![CDATA[SCAN]]></Event><!--事件类型,SCAN-->
  <EventKey><![CDATA[SCENE_VALUE]]></EventKey> 
  <!--
      事件KEY值,是一个32位无符号整数,即创建二维码时的二维码scene_id
      scene_id:创建二维码时的uuid
  -->
  <Ticket><![CDATA[TICKET]]></Ticket> <!--二维码的ticket,可用来换取二维码图片-->
</xml> 

Header 鉴权参数

消息加解密说明

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Message_encryption_and_decryption_instructions.html

 回调处理流程

4.轮询查询扫码状态

查询扫码结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值