# ScanLogin **Repository Path**: Count/ScanLogin ## Basic Information - **Project Name**: ScanLogin - **Description**: 手机扫一扫登录原理 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 582 - **Forks**: 173 - **Created**: 2015-04-27 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: security-dev **Tags**: None ## README 手机扫一扫登录 1. 服务器生成uuid和uuid为内容的二维码,同时生成一个全局的hashMap,key为uuid,value为登录信息,现在为空。 2. 浏览器得到服务器传过来的uuid和二维码的同时发起轮询操作,问服务器是否有手机扫描了这个二维码。 3. 手机端扫描二维码来得到uuid,通过uuid来识别扫描的是哪一个浏览器的二维码。 4. 手机端拿到uuid,放服务器发送一个请求同时携带登录信息,约定好action,服务器拿到登录信息后根据uuid放到相应的地方。 5. 轮询发现了uuid这个key对应的value不为空了说明登录成功。 action为请求。 util为生成二维码的工具类。 bean为假设的用户属性。 依赖fastjson包和zxing包,fastjson用来转json格式数据,zxing包用来生成二维码。 工作比较忙,没时间维护,sorry,简单的提交的,等我有时间了整好点,不过基本的原理都描述清楚了。