时间:2021-05-18
微信扫码登录原理解析
扫码登录是现在流行的登录方式,使用这种方式及其方便,而且安全扫码登录流程
原理
获取唯一的uuid, 以及包含uid信息的二维码
// 获取uuid getUUID: function() { var e = t.defer(); return window.QRLogin = {}, $.ajax({ url: i.API_jsLogin, dataType: "script" }).done(function() { 200 == window.QRLogin.code ? e.resolve(window.QRLogin.uuid) : e.reject(window.QRLogin.code) }).fail(function() { e.reject() }), e.promise }浏览器轮询服务器,获取扫码状态
// 查看扫码状态checkLogin: function(e, a) { var n = t.defer() , a = a || 0; return window.code = 0, window.checkLoginPromise = $.ajax({ url: i.API_login + "?loginicon=true&uuid=" + e + "&tip=" + a + "&r=" + ~new Date, dataType: "script", timeout: 35e3 }).done(function() { new RegExp("/" + location.host + "/"); if (window.redirect_uri && window.redirect_uri.indexOf("/" + location.host + "/") < 0) return void (location.href = window.redirect_uri); var e = { code: window.code, redirect_uri: window.redirect_uri, userAvatar: window.userAvatar }; n.resolve(e) }).fail(function() { n.reject() }), n.promise}根据服务器返回的扫码状态,进行相应的操作
408 扫码超时 如果手机没有扫码或没有授权登录,服务器会阻塞约25s,然后返回状态码 408 -> 前端继续轮询
400 二维码失效 大约5分钟的时间内不扫码,二维码失效
201 已扫码 如果手机已经扫码,服务器立即返回状态码和用户的基本信息 (window.code=201,window.code.userAvator="..."),-> 前端继续轮询
200 已授权 如果手机点击了确认登录,服务器返回200及token -> 前端停止轮询, 获取到token,重定向到目标页
总结
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
申明:网上找了一个扫码登录代码然后结合帝国QQ登录插件整出帝国cms微信扫码登录插件为了避免我们新手第一次做微信扫码登录没有头绪,我们从头说起。步骤一、1,获取
微信第三方登录有两种方式:扫码登录(微信开放平台)和公众号登录(微信公众平台)扫码登录可以用于PC等跨平台应用,而公众平台必须在微信app内使用,且必须关注公众
微信网页版一定要扫码登录吗?现在微信有个手机版和网页版的,网页版是在电脑上面登录微信的,很多人疑惑电脑版的微信怎么登录,微信网页版一定要扫码登录吗?小编给大
PC微信扫码登录近期做一个PC端微信扫码登录的需求,微信扫码有两种方式,一种是新开一个二维码页面,另一种是内嵌入产品网页。本次以内嵌二维码为例,具体怎样在页面中
微信怎么扫描二维码手机微信扫一扫全知道微信怎么扫描二维码手机微信扫一扫全知道微信怎么扫描二维码手机微信扫一扫全知道 4、扫描成功,界面会跳转到这个二维码的详细