网站首页 > java教程 正文
上海天正信息科技有限公司
Topcheer-AM数智运管平台-提供IT运维产品与服务
二维码扫描登录是一种便捷的登录方式,用户通过使用移动设备扫描电脑端显示的二维码,即可快速登录系统,无需手动输入用户名和密码。该方案主要涉及用户端(移动设备)、服务器端和电脑端三个部分。在介绍扫码登录的原理之前,我们先聊一聊服务端的身份认证机制。服务端收到用户的登录请求后,首先验证账号、密码的合法性。如果验证通过,那么服务端会为用户分配一个 token,该 token 与用户的身份信息相关联,可作为用户的登录凭证。之后 PC 端再次发送请求时,需要在请求的 Header中携带 token,服务端根据 token 便可识别出当前用户。token 的优点是更加方便、安全,它降低了账号密码被劫持的风险,而且用户不需要重复地输入账号和密码。
Token的验证方式如下:
微信小程序的扫码流程如下:
- 1、 服务器生成小程序二维码,二维码里面夹带一个scene,scene可以由服务器生成,保持唯一就行,后续登录状态都是靠这个来维持的,所以最好存入到redis当中,并且设置一定的过期时间。服务器可以调用微信的API,生成小程序的二维码。小程序的调用建议用weixin-java-miniapp第三方包,已经封装了常用的微信API,如果自己写的话也可以,底层都是通过HTTP调用。(scene在小程序的开发版是获取不到的,所以至少设置成体验版才行)
- 2、 通过小程序扫码之后,小程序前端需要将code和scene传回给服务器。服务端通过code获取到openId,这时候我们就可以先通过openId去判断判断该用户是否在服务端由保存,如果有的话,那么就可以自动登录了,然后我们把scene的状态置为登录状态。如果数据中找不到openId的话,那么就可以直接在小程序上进行登录。登录成功之后改变scene的状态。
- 3、 PC端不间断的向服务器请求scene的状态,如果一直是未登录状态,那么就可以继续请求。服务器如果判断scene已经登录过了,那么就返回已经登录的状态给前端,同时把token也一起返回。
- 4、 PC拿到token之后,直接进入到系统当中,后续就和传统的操作一样了。
猜你喜欢
- 2025-04-01 Java微服务统一授权认证架构设计及实现
- 2025-04-01 自己个人拥有一个可以支付功能的网站?当然可以了!保姆级演示!
- 2025-04-01 Spring Boot3 扫码登录实现全解析:从基础到实战
- 2025-04-01 走进二维码(QR Code)的世界之初体验
- 2025-04-01 Mac不借助第三方软件实现二维码分享文件
- 2025-04-01 SpringBoot 生成二维码(springboot生成图片)
- 2025-04-01 SpringBoot2 二维码扫码登录原理与代码实战详解
- 2025-04-01 x-cmd pkg | qrencode - 命令行生成二维码,小白也能轻松上手!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)