首页 > 科技 >

聊聊..登录

2018-07-16 11:18:12 网络整理 阅读:111 评论:0

前言

本文主要来研究一下..登录的相关场景和原理。

使用场景

主要的场景有如下几个:app扫..登录pc版系统

比如微信web版,在手机端微信登录的前提下,扫..确认,自动登录网页版。这里的app可以分为两大类,一个是自有的app,一个是第三方的app。

自己的app自有认证体系,在登录前提下完成pc端的扫描登录。

第三方app扫描登录场景,比如使用手机端的微信APP扫描登录PC端系统,这种情况下,一般是利用微信的oauth体系,服务端完成自有账户体系与微信账号的绑定,然后实现PC端的自动登录app扫..作为双因素验证

比如微信公众号..,在账户密码登录PC端的情况下,再使用手机端微信登录的前提下,扫描..再次确认,登录网页版Secure QR Login (SQRL)

完全使用..登录,替代用户密码。这个有SQRL协议及相关实现。

聊聊..登录

步骤

以下所有的都基于这个前提,就是手机app已经登录,自带有登录的凭证,然后要扫描登录pc端的系统打开pc端显示登录..(pc端未登录的前提下)

这个时候请求服务端生成一个登陆..

服务端生成..,该..包含了这个pc端的唯一标识,比如sessionId,或者是新生成一个uuid跟这个sessionId关联pc端同时开启轮询(有长连接等其他实现,这里以轮询方式介绍)

获取..之后,pc端开启定时轮询,轮询..的状态,主要有如下状态:NEW,SCANED,CONFIRMED,REFUSED,EXPIRED手机端扫描..

手机端已经登录的情况下,扫描网页..,..状态变为已扫描,然后手机端跳转到确认页面手机端确认

手机端扫描..之后,点击确认,..状态变为确认pc端跳转成功/..过期/拒绝

..状态变为确认之后,跳转自动登录,完成PC端登录态建立

如果app端拒绝这次请求,则..状态变为被拒绝,不再轮询

如果..状态在一定时间没有变化,则显示..过期,不再轮询

聊聊..登录

PC客户端请求登录..轮询..状态跳到到登陆后的页面

相关文章