二维码登录步骤

1、tv端点击二维码登录,tv端先构建一个socket的服务端向服务器端发送一个http请求,请求包含tv端构建的这个socket连接的ip和端口

2、服务端根据tv端请求传递的ip和端口,和tv端的socket建立连接

3、服务端向客户端发送一个二维码图片(二维码图片中包含一个uuid,和登录的url地址,TV端socket连接的ip+端口),将此uuid存放到redis中,
key是uuid,value是ip和端口

4、用户扫描二维码,跳转到登录许可页面,并且同时构建一条socket连接,同时发送一条扫描成功的消息到socket中

5、当tv端接受到扫描成功后,二维码变模糊,不可再次扫描,服务端将tv端的uuid和用户的token绑定在一起,此uuid将不能再继续接受别的uuid绑定

6、若用户选择登陆,则请求二维码返回的url,并且携带二维码中的uuid,app端用户的token

7、服务端接受到登录请求后,先验证token的有效性,若token有效,继续根据uuid获取redis中的内容,判断redis中此uuid所对应的token是不是原来的
若是的话,则通过socket向tv端发送登录成功的消息,并且新生成一个token数据返回给tv端

8、tv端接受到登录成功的消息后,用新生成的token向服务端发送获取用户信息的请求,然后登录成功

9、二维码存在失效问题,当服务端生成二维码成功后60秒内没有扫描成功的话,服务端向客户端发送二维码失效的消息,
并且,服务端清空之前存储的uuid数据,然后关闭socket连接

10、二维码扫描成功后,若60秒之内没有点击登录,服务端也发送登录超时的消息,同时断开socket的连接,清空redis中保存的uuid信息

11、当二维码失效后,tv端的二维码将不可以扫描,同时显示刷新二维码,当用户点击了刷新二维码后,则继续重复上面的操作


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值