此篇文章记录自己开发中的微信客户端扫码登录的实例以及步骤,便于以后自行学习记起的关键,看到的网友有借鉴的地方就借鉴,看不懂的也请别吐槽,毕竟每个人的思维和思路以及记录东西的方式不一样;
1.首先需要一个微信服务号,记住并非是订阅号,拿到微信服务号的appid和AppSecret两个值,这两个值是申请微信号的时候就是存在的;
2.调用微信指定接口,然后弹出微信二维码,如图:
调用的连接接口弹出上图的二维码连接如下:
https://open.weixin.qq.com/connect/qrconnect?appid=wx00f80ce429d5e494&redirect_uri=&response_type=code&scope=snsapi_login#wechat_redirect
连接详细注释:
appid: appid就是上面所说的微信申请已存在的;
redirect_uri: 这个url地址就是项目中需要回调的地址,即为需要指向的地址,可以认为手机打开微信扫一扫后,微信扫一下后跳转的地址;
response_type:是固定形式code值,(个人认为是请求微信那边服务器后返回的code值)
scope:这个是微信提供默认的两种类型,如下:
关于网页授权的两种scope的区别说明
a、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
b、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
c、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
#wechat_redirect: 这一个是连接上参数默认的;
3.通过上面的返回的code值,然后就可以调用微信的另一个验证接口了,调用后可以返回openid;拿到这个openid后就可以获取到用户的信息了,
获取openid的连接为:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=AppSecret&code=CODE&grant_type=authorization_code
拿到最后的openid后,就可以根据项目中的业务情况判定用户登录情况了,如果用户登录绑定了,就跳转到系统首页,如果用户没有注册并绑定用户,就跳转到用户注册页面,提示用户注册新用户并绑定;
至此个人记录情况结束,欢迎借鉴,thank you!