最近在做PC二维码扫码登录的功能,总结了一些问题
# 主要区别
二者的主要区别:
差异 | PC网页扫码登录 | 公众号网页授权登录 |
---|---|---|
账号要求 | 需要开放平台账号创建网站应用 | 一个认证过的服务号就可以(也可以使用公众号的测试号) |
授权方式 | 在页面打开公众号二维码之后授权 | 公众号内打开授权链接(不关注公众号也可以) |
授权环境 | PC浏览器网页 | 微信客户端 |
测试号 | 无 | 有(可以申请使用测试账号) |
两者的授权流程一样,需要授权获取code换取token和openid再去请求用户信息
PC端扫码还有一种方式(本质上还是网页授权的方式)
PC端扫的二维码地址是移动端的网页,手机扫码后打开的是网页授权链接,通过网页授权的方式获取code拿到用户openid或者unionid,PC端通过轮询方式获取用户id进行登录
# 授权原理
授权原理简述:
用户通过手机微信确认登录之后,微信方会返回一个授权码code给回第三方(接入方),这个授权码code一次有效期,且有效时间比较短;第三方通过此code去调用微信接口获取token,token的有效期也比较短,当然用户可以通过刷新token的方式来延长token的有效时长;第三步通过token再去调用微信开发平台接口,获取微信个人用户信息
微信OAuth2.0授权登录官方说明
1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作