zoukankan      html  css  js  c++  java
  • 手机扫码登录原理

    现象描述:目前多数的软件都提供了手机版和网页版,当在网页版登录时,只需要利用手机扫码二维码即可登录;

    原理分析:

    整个过程主要为以下三部分:(服务器a指浏览器对应的服务器,浏览器b指手机对应的服务器)

    1、获取二维码(浏览器向服务器a请求二维码图片)

    2、扫描二维码(手机扫描二维码获取到二维码的相关信息,并将信息传给服务器b)

    3、登录(服务器b利用获得的信息和用户的信息去更改服务器a的数据)

    注意:在整个过程中浏览器是不停地调用服务器a的,当服务器a中的信息被更改时,浏览器能快速获取。

    常见的解决方案:

    涉及到三个服务器:浏览器端服务器    redis服务器   手机端服务器

    1、浏览器请求二维码

    2、浏览器端服务器 生成一个唯一标识符(uuid),并将该uuid作为redis的键存储在redis中,并设置过期时间,生成二维码(二维码中含有该uuid的值)

    3、浏览器获得二维码

    此后浏览器一直携带该uuid去请求浏览器端服务器直到登录成功或者二维码过期

    4、手机扫描二维码,获取到二维码中的uuid,并将该uuid传给手机端服务器

    5、手机端服务器拿到uuid后调用redis接口将该uuid的值设置为用户的登录信息(因为手机端已经登录,所以可以获取到用户的信息)

    6、当redis中有用户的登录信息后,浏览器请求浏览器服务器就校验为登录

    在实际中在扫描后还需要确认登录才能真正登录。

    整体概述:

      将已登录的手机端用户信息同步到浏览器端服务器上,两者之间用户标识就是生成的uuid,中间的纽带就是redis

    心有多大,天有多高,一起奋斗!!
  • 相关阅读:
    js设计模式 -- 装饰模式
    前端项目开发(持续补充中)
    URL地址解析
    line-height有无单位区别
    HTTP请求Response Headers
    HTTP请求Request headers
    docker快速入门
    关于layui动态生成文件上传按钮后点击无效的解决办法
    未证实的一个BUG
    实现一个简单的概率发奖问题
  • 原文地址:https://www.cnblogs.com/zhaolei1996/p/12252325.html
Copyright © 2011-2022 走看看