专业的JAVA编程教程与资源

网站首页 > java教程 正文

微信小程序扫码登录的实现(微信小程序扫码登录的实现方法)

temp10 2025-04-01 22:18:17 java教程 2 ℃ 0 评论

上海天正信息科技有限公司

Topcheer-AM数智运管平台-提供IT运维产品与服务

微信小程序扫码登录的实现(微信小程序扫码登录的实现方法)

二维码扫描登录是一种便捷的登录方式,用户通过使用移动设备扫描电脑端显示的二维码,即可快速登录系统,无需手动输入用户名和密码。该方案主要涉及用户端(移动设备)、服务器端和电脑端三个部分。在介绍扫码登录的原理之前,我们先聊一聊服务端的身份认证机制。服务端收到用户的登录请求后,首先验证账号、密码的合法性。如果验证通过,那么服务端会为用户分配一个 token,该 token 与用户的身份信息相关联,可作为用户的登录凭证。之后 PC 端再次发送请求时,需要在请求的 Header中携带 token,服务端根据 token 便可识别出当前用户。token 的优点是更加方便、安全,它降低了账号密码被劫持的风险,而且用户不需要重复地输入账号和密码。

Token的验证方式如下:



微信小程序的扫码流程如下:

  1. 1、 服务器生成小程序二维码,二维码里面夹带一个scene,scene可以由服务器生成,保持唯一就行,后续登录状态都是靠这个来维持的,所以最好存入到redis当中,并且设置一定的过期时间。服务器可以调用微信的API,生成小程序的二维码。小程序的调用建议用weixin-java-miniapp第三方包,已经封装了常用的微信API,如果自己写的话也可以,底层都是通过HTTP调用。(scene在小程序的开发版是获取不到的,所以至少设置成体验版才行)
  2. 2、 通过小程序扫码之后,小程序前端需要将code和scene传回给服务器。服务端通过code获取到openId,这时候我们就可以先通过openId去判断判断该用户是否在服务端由保存,如果有的话,那么就可以自动登录了,然后我们把scene的状态置为登录状态。如果数据中找不到openId的话,那么就可以直接在小程序上进行登录。登录成功之后改变scene的状态。
  3. 3、 PC端不间断的向服务器请求scene的状态,如果一直是未登录状态,那么就可以继续请求。服务器如果判断scene已经登录过了,那么就返回已经登录的状态给前端,同时把token也一起返回。
  4. 4、 PC拿到token之后,直接进入到系统当中,后续就和传统的操作一样了。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表