简单讲一讲微信二维码登录

时间:2024-03-21 22:43:03

简单讲一讲微信二维码登录

原理:微信二维码登录可以分为前端和后端俩个部分,在前端部分有一个二维码,而这个二维码其实就是一个微信的地址。而前端部分做的事情就是如下:
**

微信为用户生成了一张包含uuid的二维码(这个uuid是服务器端生成的),后台发送轮询请求,查询此uuid是否已被绑定上登录签名。但如果uuid尚未绑定登录签名,后台不回立即返回结果,而是会阻塞30秒左右,在30秒内仍未扫描成功,后台会返回一个结果码。结果码的值为408,代表微信客户端尚未扫描,

https://open.weixin.qq.com/connect/confirm?uuid=081lO28fby38Nv-1(这是二维码的地址值 中间有uuid)

微信客户端扫码二维码后,微信客户端会向服务器发送uuid以及用户信息,以便绑定uuid和用户信息。此时网页前端通过轮询知道uuid和用户信息已经绑定好,就会发送一个请求 服务器会将页面重定向到redirect_url 并在该url后面附加一个code参数**

访问下面的地址的时候我们会得到上面的二维码***

https://open.weixin.qq.com/connect/qrconnect?
appid=wx6fada1fd2a5018d6& // 这个是appid (向微信申请的)
redirect_uri=http%3A%2F%2Fpassport.itheima.com%2FConnect%2Fweixin&
//返回地址
response_type=code& //这个是返回类型
scope=snsapi_login#wechat_redirect
//以及可以使用范围

。**
我觉得可以把这个地址写死在网页前端,也可以将其放在数据库,查询出来(由于不懂前端,自己可以分析分析)

所以说,后端开发者就不要纠结前端了网页如何知道你在微信上授权了,关注 redirect_uri(回调地址,回调时候会携带参数) 这个参数才是最终要的。

请求参数

简单讲一讲微信二维码登录

上面请求后会有返回值

简单讲一讲微信二维码登录
简单讲一讲微信二维码登录
简单讲一讲微信二维码登录
这样就获取一个tooken
简单讲一讲微信二维码登录
这就是一个获取用户信息的流程
建议你们去看看https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html
我这篇文章只是理顺一下前后端登录思路 比如说一些细节可能不是很到位 建议看一下outh2协议

https://www.zhihu.com/question/20368066 这个是简述上很多大佬讲二维码登录