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

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

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

微信为用户生成了一张包含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 这个是简述上很多大佬讲二维码登录

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值