扫码登录认证技术原理介绍及实践

本文介绍了扫码登录的背景,处理流程,以及关键技术实现。通过简化用户登录步骤,提高安全性,推动APP使用。流程涉及二维码生成、状态轮询、用户授权等环节。文章提供了简单的代码示例,帮助读者理解扫码登录的认证逻辑。

一、背景

最近业务要求PC端系统登录使用APP应用扫码登录。

主要目的是:

1、简化用户录入账号密码,达到快速登录PC;

2、账号登录使用更加安全性;

3、为了推广更多让大家打开使用APP(因为行业的特殊性,实际业务场景中大都设计师都在使用PC端设计软件,同时也习惯了PC端下单)。

二、处理流程

1、业务流程图

因为扫码的时候有两种处理逻辑,所以流程图有业务处理方案。但不管哪种方案,背后技术处理逻辑是一样的。

2、技术实现设计流图程

3、处理步骤说明

a、用户打开PC登录页面,PC登录页面向认证中心发起请求,认证中心生成uuid等信息,返回uuid等信息给前端,前端展示一个包含uuid的二维码。

b、PC端登录页面定时向认证中心轮询二维码的状态。

c、用户登录移动端,打开移动端摄像头扫描PC端登录页面的二维码。

d、移动端将二维码中包含的uuid等信息发送给认证中心,认证中心将二维码状态设置为“扫描成功”。

e、PC端登录页面轮询到二维码状态为“扫描成功”,提示“扫描成功”,以下图片仅供参考。

f、移动端展示消息确认弹出框,显示“登录”、“取消登录”按钮,同时将移动端当前登录的用账号、当前移动端登录的token和二维码uuid等信息发送给认证中心。      

g、认证中心将用户所选要登录的账号保存在二维码信息里面,并将二维码状态设置为“已授权”。

h、登录页面从轮询二维码不存在时,提示“二维码已过期” ,以下图片仅供参考。

i、登录页面从轮询二维码状态为“已取销”时,提示“你已取消此次操作,你可再次扫描,或关闭窗口”。

j、登录页面从轮询二维码状态为“已授权”时,认证中心生成PC端登录的token,设置cookie,并向PC端前端发起重定向跳转。

程序处理时序图

三、代码实现

auth2认证最简单的代码结构示例

public class Auth2L
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值