之前一个番薯问我,怎么给FR做扫码登陆~我巴拉巴拉之后~他一句我不会IOS和安卓的开发~我也就没辙了~因为扫码登陆基础就是要App能支持扫码~知道昨天,突然想起来一个思路,尝试了一下居然OK了~不过这个方法实在是太土逼了~
先改造登陆页【非常粗糙的demo】
为了测试方便,默认就显示的是二维码,点击账号密码登陆切换为原来的登陆方式
做一个模板借助文本控件的扫码功能实现登陆
因为控件的扫码仅仅是得到里面的值,那么我们这个模板就还需要一个按钮来出发授权【当然在文本控件的编辑结束事件授权也可以】,做好模板把模板配置到决策平台中权限分配给所有用户【仅移动端展示】
然后登陆APP,打开这个模板
点击扫描二维码
利用控件输入扫描二维码
确定后点授权按钮,PC端就自动登陆了~
思路还是满简单的~二维码刨除安全细节~一共就是3步
1.PC生成二维码和登陆密钥【类似二维码信息的签名再加密】,定时用登陆密钥询问服务器这个签名是否已经被授权
2.移动端扫描二维码,生成签名,然后再通知服务器授权【这个时候还没有登陆】
3.当某一次接收到的登陆密钥解密出来的签名已经被授权,就提取授权中的用户信息,然后登陆该用户。
|