二维码,最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。
二维码技术获得了广泛应用,今天我们要讲的这个场景就是使用二维码来进行登录,这样可以省去用户输入繁琐的用户名和密码,只要拿出手机拍一下(第一次还是要输入的哈)就ok了。在一些输入不是很方便的设备上(比如智能电视)还是很实用的一个功能滴。目前企鹅和一些游戏已经支持了,可以去尝试一下。 好了,废话不多说,我们先来分析一下整个二维码登录的流程,附图:流程图就不再详细解释,TV端在拿到授权token之后,就可以请求登录了,这就是整个二维码的登录流程。 接下来,我们分析一下几个角色和他们要做的事情: 首先是TV:
1.将自身设备guid发送给服务端 2.接收服务端生成的二维码图片(Base64 转 Image) 3.使用websocket请求服务端推送登录token (技术点:websocket支持)
手机端:
1.二维码解码(这个不多说,zxing等开源类库支持) 2.请求登录接口
服务端:
1.websocket推送登录token 2.二维码生成
手机端比较简单,二维码解码网上的例子有很多,这里就不多说了,在后面我们仅仅模拟一下登录即可。
重点给出TV端登录示例(手机也可使用)。
原文链接:
转载注明: