广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >微信二维码登录原理是什么
  • 399
分享到

微信二维码登录原理是什么

2024-04-02 19:04:59 399人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关微信二维码登录原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在电脑上使用微信时,你可能已经发现微信不提供传统的账号密码登陆,取

这期内容当中小编将会给大家带来有关微信二维码登录原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在电脑上使用微信时,你可能已经发现微信不提供传统的账号密码登陆,取而代之的是通过扫描二维码进行登陆。今天就要研究下次登陆方式微信时如何实现的?

1、每次用户打开PC端登陆请求,系统返回一个uid,并将uid的信息绘制成二维码返回给用户。这里的uid一定是本人的,否则就会造成你登陆了其他用户的账号或者其他用户登陆你的账号。

2、当用户使用登陆后的微信扫描该二维码的时候,会将这个uid和手机上的微信账号及密码产生的token进行绑定,并上传到服务器

3、WEB通过js不断的向后端发起请求,查询有没有关于uid的登陆记录(uid和token是否存在于服务器上)。实现代码可以从微信页面获取:

function _poll(_asUUID) {         var _self = arguments.callee,             _nTime = 0;         _sCurUUId = _asUUID;          _logInPage("_poll Request Start, time: " + new Date().getTime());         _nTime = new Date().getTime();         $.ajax({         type: "GET",         url: "https://login." + _sBaseHost + "/cgi-bin/mmwebwx-bin/login?uuid=" + _asUUID + "&tip=" + show_tip,         dataType: "script",         cache: false,         timeout: _nAjaxTimeout,         success: function(data, textStatus, jqXHR) {             _logInPage("_poll Request Success, code: " + window.code + ", time: " + (new Date().getTime() - _nTime) + "ms");             switch (_aoWin.code) {             case 200:                 _sSecondRequestTime = new Date().getTime() - _sSecondRequestTime;                 _logInPage("Second Request Success, time: " + _sSecondRequestTime + "ms");                 clearTimeout(_oResetTimeout);                  $.get(_aoWin.redirect_uri + "&fun=new", function(msg) {                     _logInPage("new func reponse, reponseMsg: " + msg);                     _reportNow("new func reponse, reponseMsg: " + msg);                     var code = msg.match(/<script>(.*)<\/script>/);                     if(code){                         eval(code[1]);                     }else{                         $("#container").show();                         $("#login_container").hide();                     }                 });                  _reportNow("/cgi-bin/mmwebwx-bin/login, Second Request Success, uuid: " + _asUUID + ", time: " + _sSecondRequestTime + "ms");                 break;              case 201:                 clearTimeout(_oResetTimeout);                 show_tip = 0;                 $('.errORMsg').hide();                 $('.normlDesc').hide();                 $('.succeSSMsg').show();                 _logInPage("First Request Success");                 _reportNow("/cgi-bin/mmwebwx-bin/login, First Request Success, uuid: " + _asUUID); //                setTimeout(function(){                     _logInPage("Second Request Start");                     _reportNow("/cgi-bin/mmwebwx-bin/login, Second Request Start, uuid: " + _asUUID);                      _sSecondRequestTime = new Date().getTime();                      _nAjaxTimeout = 5 * 1000;                     _self(_asUUID); //                }, 500);                 break;              case 408:                 setTimeout(function(){                     _self(_asUUID);                 }, 500);                 break;              case 400:             case 500:                 _reset();                 _afterLoadWebMMDo(function(){                     _aoWin.Log.d("500, Login Poll Svr Exception");                 });                 break;             }         },         error: function(jqXHR, textStatus, errorThrown) {             if (textStatus == 'timeout') {                 setTimeout(function(){                     _self(_asUUID);                 }, 500);             } else {                 setTimeout(function(){                     _self(_asUUID);                 }, 5000);                  _logInPage("_poll Request Error:" + textStatus);                 _afterLoadWebMMDo(function(){                     _aoWin.Log.e("Login Poll Error:" + textStatus);                 });             }         }         });     }

网页客户端每500毫秒就向服务器发起ssl请求,请求当前二维码的登陆信息,如果返回结果201,则说明已经获取扫描二维码终端相同的账号登陆授权,当返回其他结果时,将在500毫秒之后重新发起请求。

类似微信登陆场景应用场景还是很多,比如通过二维码进行设备间的授权。比如使用手机遥控 装有Android系统的电视盒等。

上述就是小编为大家分享的微信二维码登录原理是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网node.js频道。

--结束END--

本文标题: 微信二维码登录原理是什么

本文链接: https://www.lsjlt.com/news/86242.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信二维码登录原理是什么
    这期内容当中小编将会给大家带来有关微信二维码登录原理是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在电脑上使用微信时,你可能已经发现微信不提供传统的账号密码登陆,取...
    99+
    2022-10-19
  • 浅谈js二维码扫码登录是什么原理
    目录二维码登录的本质认识二维码系统认证机制扫描二维码登录的一般步骤大概流程二维码准备扫描状态切换状态确认总结前几天看了极客时间一个二维码的视频,写的不错,这里总结下 在日常生活中,二...
    99+
    2022-11-12
  • 微信扫码登录原理的示例分析
    小编给大家分享一下微信扫码登录原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信扫码登录原理解析扫码登录是现在流行...
    99+
    2022-10-19
  • SpringBoot实现二维码扫码登录的原理及项目实践
    目录一、手机扫二维码登录的原理二、SpringBoot如何实现二维码扫码登录三、总结手机二维码扫码登录已经成为了现代互联网时代的一种普遍的登录方式。它的出现,极大地方便了用户登录的流...
    99+
    2023-05-14
    SpringBoot 二维码扫码登录 SpringBoot 扫码登录
  • 二维码在Unix系统中的实现原理是什么?
    二维码(QR Code)是一种二维条码,是由日本的Denso Wave公司在1994年发明的。它能够被快速扫描,并且能够存储大量的信息,因此被广泛应用于商业、物流、支付等领域。在Unix系统中,二维码的实现原理是什么呢? 二维码的实现原理...
    99+
    2023-08-15
    二维码 unix 索引
  • chatgpt接入微信的原理是什么
    chatgpt的技术原理ChatGPT是在 GPT(Generative Pre-training Transformer)模型的基...
    99+
    2023-02-09
    chatgpt
  • numpy二维数组切片的原理是什么
    numpy二维数组切片的原理是基于数组的索引和切片操作。在numpy中,可以使用两个冒号(:)来表示切片的开始和结束位置。二维数组可...
    99+
    2023-10-26
    numpy
  • 微信电脑版快速登录的方法是什么
    微信电脑版快速登录的方法是通过扫描手机上的二维码来实现的。具体步骤如下:1. 打开微信手机App,点击右上角的加号图标,选择“扫一扫...
    99+
    2023-10-18
    电脑
  • Web端扫码登录的原理和实现方法是什么
    这篇文章主要介绍了Web端扫码登录的原理和实现方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Web端扫码登录的原理和实现方法是什么文章都会有所收获,下面我们一起来看看吧。1 概述在日常 Web 端产品...
    99+
    2023-07-05
  • 二维码同步函数的实现原理和应用场景是什么?
    随着移动互联网的普及,二维码作为一种便捷的信息传递方式逐渐成为了人们生活中不可或缺的一部分。在二维码的实现过程中,同步函数起着至关重要的作用。本文将介绍二维码同步函数的实现原理和应用场景,并且提供相应的演示代码。 一、实现原理 二维码同步...
    99+
    2023-10-17
    函数 同步 二维码
  • Node之Cookie-Session登录验证的工作原理是什么
    这篇文章主要介绍“Node学习之聊聊Cookie-Session登录验证的工作原理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node学习之聊聊Cookie-Session登录验证的工作原理”文章...
    99+
    2023-07-04
  • PHP和NumPy:二维码文件处理的最佳实践是什么?
    二维码是一种广泛应用的编码方式,它可以在小区域内存储大量数据。在现代的数字化时代,二维码已经成为了常见的技术手段。当我们需要处理大量的二维码文件时,如何高效处理这些文件成为了一个值得讨论的问题。本文将介绍PHP和NumPy在二维码文件处理...
    99+
    2023-06-13
    numpy 二维码 文件
  • 微信域名检测API的实现方法及原理是什么
    微信域名检测API的实现方法及原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。微信域名检测API接口是腾讯对外公布的微信域名状态查询接口,可实时查询域名在微信中的状...
    99+
    2023-06-04
  • 华为云服务器登录不了账号和密码是什么原因
    如果华为云服务器登录不了账号和密码,可能是因为以下原因之一: 密码被弱密码破解了:尝试输入与之前设置相同的密码,看能否重新登录。如果可以,则可能是因为该账号使用了弱密码或者密码强度不够高,无法被弱密码破解。 账号被停用或禁用了:如果账号...
    99+
    2023-10-26
    华为 账号 密码
  • 二维码文件处理:PHP和NumPy的最佳解决方案是什么?
    二维码是一种广泛应用于生活和工作中的二维码文件,其可存储大量信息,因此在日常生活中越来越普遍。然而,对于二维码文件的处理,往往需要使用一些特殊的工具和技术,其中包括PHP和NumPy。那么PHP和NumPy的最佳解决方案是什么呢?本文将对这...
    99+
    2023-06-13
    numpy 二维码 文件
  • 华为云服务器登录不了账号和密码是什么原因呢
    如果您的华为云服务器登录不了账号和密码,可以尝试以下几种解决方案: 检查网络连接:确保网络连接正常,可以使用设备的网络功能(例如Wi-Fi或蓝牙)连接服务器,如果连接成功但登录失败,可以尝试重启路由器或添加路由器来解决此问题。 检查数据...
    99+
    2023-10-26
    华为 账号 密码
  • 轻量应用服务器登录不了账号和密码是什么原因
    用户名或密码不符合要求:如果用户名或密码不符合轻量应用服务器的安全要求,轻量应用服务器就无法识别这个用户的账号和密码,从而导致账号和密码无法登录。在这种情况下,需要对用户名和密码进行进一步的验证和检查,以确保它们符合轻量应用服务器的安全要...
    99+
    2023-10-28
    账号 密码 服务器
  • 小程序cloudbase之管理员发布二维码,登录用户实时获二维码(携带每个用户的openid、用户信息),管理员通过扫描来重新入库筛选已领取的用户(用户的二维码每一段时间刷新一次)
    目录 需求背景 本人提供的思路 (思路仅限于本人思维,若诸位有更吊的逻辑思维可以评论区见~) 管理端发布二维码 用户端渲染二维码列表 用户端二维码信息处理 用户端生成二维码 管理端扫描处理 后期统计处理 需求背景 现在某大学要举办一个活...
    99+
    2023-10-05
    微信小程序 小程序
  • 华为云服务器登录密码超级vps管理器是什么
    超级VPS管理器是华为云服务器提供的一种管理工具,它可以帮助用户更方便地管理自己的云服务器。在使用超级VPS管理器时,用户可以通过简单的操作来完成服务器的管理任务,例如创建、删除、重启、备份等。此外,超级VPS管理器还提供了一些高级功能,例...
    99+
    2023-10-26
    华为 管理器 密码
  • QQ如何制作提示浏览器打开以及微信遮罩代码的实现原理是什么
    这篇文章将为大家详细讲解有关QQ如何制作提示浏览器打开以及微信遮罩代码的实现原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。目前的市场上做APP应用的朋友们最常用的一种下载手段就是扫...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作