实现微信扫码后关注公众号自动登录

一、原理

1、获取access_token

https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html

2、获取带参二维码

https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html

用户扫描带场景值二维码时,可能推送以下两种事件:

  如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。

  如果用户已经关注公众号,在用户扫描后会自动进入会话,微信也会将带场景值扫描事件推送给开发者。

服务器获取带参二维码后,把二维码和场景值都返给前端

 

3、接收微信回调事件推送

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

 4、前端根据场景值轮询查询用户扫码状态,后端可以返回的状态有:二维码过期/用户未扫码/用户已扫码

如果用户已扫码,可以同时返回给登录成功的JWT token。

二、代码示例

WechatScanLoginSample: .net6 实现用户扫码或扫码关注公众号登录的功能 (gitee.com)

 也可以改为用户先用原有登录系统登录,再绑定微信,绑定后即可用扫码登录。

posted @ 2023-04-07 17:17  向萧  阅读(275)  评论(0编辑  收藏  举报