场景:二维码扫码登录设计

二维码扫码登录需要做的事情是去做登录认证,主要有两个:第一,告诉系统我是谁,可以通过账号,手机号,邮箱,用户名等唯一标识的形式;第二,向系统证明我是谁,可以通过密码,验证码,cookie,token的方式。
在这里插入图片描述

这个系统主要涉及到了三方,这里概述为三个角色:

分别是待登陆设备,已登录的扫码设备,还有服务端。

在这里插入图片描述

二维码本质上就是一个字符串string,可以自己拿一张二维码放到解析器中,最后会返回一个url,而这个url本质是就是字符串,关键部分就是QRcode部分的字符。

在这里插入图片描述

扫码过程中涉及到的不同状态的转变,过程如下,每个状态的变化都是有相应的事件去完成触发

在这里插入图片描述

1.【Pc端】进入扫码登录的页面,请求【服务端】以获取二维码id
2.【服务端】生成二维码id,(与请求设备绑定,)写入存储后返回(带有效期)

3.【Pc端】根据二维码id生成二维码图,展示
4.【移动端】扫码,解析出二维码id
5.【移动端】拿着移动端的token和二维码id请求【服务端】登录
6.【服务端】解析验证,绑定用户信息,返回【移动端】用于二次确认的临时token. 【Pc端】展示的二维码进入"待确认"状态
8.【移动端】拿着二维码id+临时token +移动端的token确认登录

9.【服务端】校验,如果通过,就修改二维码状态,返回Pc端登录的token.

10.【Pc端】成功登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值