著录项信息
专利名称 | 基于二维码的登录控制方法、系统和装置 |
申请号 | CN201210576567.4 | 申请日期 | 2012-12-26 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-03-27 | 公开/公告号 | CN103001973A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 百度在线网络技术(北京)有限公司 | 申请人地址 | 北京市海淀区上地十街10号百度大厦三层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 百度在线网络技术(北京)有限公司 | 当前权利人 | 百度在线网络技术(北京)有限公司 |
发明人 | 朱建庭;武林 |
代理机构 | 北京清亦华知识产权代理事务所(普通合伙) | 代理人 | 宋合成 |
摘要
本发明提出一种基于二维码的登录控制方法,包括:网络服务提供商的云端服务器接收用户通过第一客户端发送的登录请求;云端服务器为登录请求分配标识串,并生成二维码;云端服务器将二维码发送至第一客户端并显示;云端服务器接收第二客户端拍摄并解析二维码之后向二维码中的地址信息发送的代理登陆请求;云端服务器根据代理登陆请求对用户进行身份认证;云端服务器接收第一客户端的轮询请求或长连接请求,并在用户通过身份认证之后向第一客户端返回用户登录会话信息。本发明避免了用户登陆大量输入带来的不便,提高账户的安全性,操作成本低,用户体验好。本发明还公开了一种基于二维码的登录控制方法和一种云端服务器。
1.一种基于二维码的登录控制方法,其特征在于,包括以下步骤:
网络服务提供商的云端服务器接收用户通过第一客户端发送的登录请求;
所述云端服务器为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码;
所述云端服务器将所述二维码发送至所述第一客户端并通过所述第一客户端进行显示;
所述云端服务器接收第二客户端拍摄并解析所述二维码之后向二维码中的所述地址信息发送的代理登陆请求,其中,所述代理登陆请求包括所述标识串和所述用户的身份信息;
所述云端服务器根据所述代理登陆请求对所述用户进行身份认证,其中所述云端服务器对所述代理登陆请求中的标识串和身份信息进行认证,如果所述标识串或身份信息无效,则所述云端服务器向所述第二客户端返回错误信息;以及
所述云端服务器接收所述第一客户端的轮询请求或长连接请求,并在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息。
2.如权利要求1所述的基于二维码的登录控制方法,其特征在于,所述第一客户端在接收到所述二维码之后,周期性地向所述云端服务器发送轮询请求或长连接请求,其中,所述轮询请求或长连接请求中包含有所述标识串。
3.如权利要求1-2任一项所述的基于二维码的登录控制方法,其特征在于,还包括:
所述云端服务器判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息;
如果判断存储有以所述标识串为索引的数据项,则向所述第二客户端返回错误信息;
以及
如果判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证,则以所述标识串为索引建立对应的数据项,并向所述第二客户端返回登录成功信息。
4.如权利要求3所述的基于二维码的登录控制方法,其特征在于,在向所述第一客户端返回用户登录会话信息之后,还包括:
将所述数据项中的标识串和对应的用户登录会话信息删除。
5.如权利要求1所述的基于二维码的登录控制方法,其特征在于,所述第二客户端为移动终端。
6.一种基于二维码的登录控制系统,其特征在于,包括第一客户端、第二客户端和云端服务器,其中,
所述第一客户端,用于向所述云端服务器发送登录请求,以及接收所述云端服务器发送的二维码并显示;
所述云端服务器,用于为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码,并将所述二维码发送至所述第一客户端,以及根据所述第二客户端发送的代理登陆请求对用户进行身份认证,接收所述第一客户端的轮询请求或长连接请求,并在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息,其中所述云端服务器还用于对所述代理登陆请求中的标识串和身份信息进行认证,并在所述标识串或身份信息无效时向所述第二客户端返回错误信息;以及
第二客户端,用于对所述第一客户端显示的二维码进行拍摄,并对在解析所述二维码之后向二维码中的所述地址信息发送代理登陆请求,其中,所述代理登陆请求包括所述标识串和所述用户的身份信息。
7.如权利要求6所述的基于二维码的登录控制系统,其特征在于,所述第一客户端在接收到所述二维码之后,周期性地向所述云端服务器发送轮询请求或长连接请求,其中,所述轮询请求或长连接请求中包含有所述标识串。
8.如权利要求6所述的基于二维码的登录控制系统,其特征在于,所述云端服务器,还用于判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息,以及在判断存储有以所述标识串为索引的数据项时,向所述第二客户端返回错误信息,并在判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证时,以所述标识串为索引建立对应的数据项,并向所述第二客户端返回登录成功信息。
9.如权利要求8所述的基于二维码的登录控制系统,其特征在于,所述云端服务器,还用于在向所述第一客户端返回用户登录会话信息之后,将所述数据项中的标识串和对应的用户登录会话信息删除。
10.如权利要求6所述的基于二维码的登录控制系统,其特征在于,所述第二客户端为移动终端。
11.一种云端服务器,其特征在于,包括:
第一接收模块,用于接收用户通过第一客户端发送的登录请求;
二维码生成模块,用于为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码;
第一发送模块,用于将所述二维码发送至所述第一客户端并通过所述第一客户端进行显示;
第二接收模块,用于接收第二客户端拍摄并解析所述二维码之后向二维码中的所述地址信息发送的代理登陆请求,其中,所述代理登陆请求包括所述标识串和所述用户的身份信息;
认证模块,用于根据所述代理登陆请求对所述用户进行身份认证,其中,所述认证模块对所述代理登陆请求中的标识串和身份信息进行认证;
第三接收模块,用于接收所述第一客户端的轮询请求或长连接请求;以及第二发送模块,用于在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息,并在所述标识串或身份信息无效时,向所述第二客户端返回错误信息。
12.如权利要求11所述的云端服务器,其特征在于,所述轮询请求或长连接请求中包含有所述标识串。
13.如权利要求11所述的云端服务器,其特征在于,所述认证模块用于判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息,并在判断存储有以所述标识串为索引的数据项时,通过所述第二发送模块向所述第二客户端返回错误信息。
14.如权利要求11所述的云端服务器,其特征在于,还包括:
数据项维护模块,用于在判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证时,以所述标识串为索引建立对应的数据项。
15.如权利要求14所述的云端服务器,其特征在于,所述数据项维护模块还用于在向所述第一客户端返回用户登录会话信息之后,将所述数据项中的标识串和对应的用户登录会话信息删除。
16.如权利要求11所述的云端服务器,其特征在于,所述第二客户端为移动终端。
基于二维码的登录控制方法、系统和装置\n技术领域\n[0001] 本发明涉及移动互联技术领域,特别涉及一种基于二维码的登录控制方法、系统和装置。\n背景技术\n[0002] 互联网的普及与发展,带来了大量的网络服务提供商。很多网络服务提供商都提供了登录功能,有些服务需要用户登录之后才有权限获得。\n[0003] 现有网络服务提供的用户登录系统的基本实现方法如下:\n[0004] 步骤S1:用户请求登录时,由网络服务的客户端系统,如浏览器端网页向用户展示一个登录界面。\n[0005] 步骤S2:用户在登录界面上输入一个用户账号信息,包括如用户名、邮箱地址、账号或手机号的一种或多种,以及对应的用户密码、验证码等,有些服务提供商为了加强安全性,还需要用户再输入系统随机生成的验证码,用户完成输入后请求登录。\n[0006] 步骤S3:网络服务的客户端系统将用户在登录界面中输入的内容以及界面中自带的一些其他信息发送到网路服务的服务器端进行登录认证。\n[0007] 步骤S4:服务器端接收到用户的登录请求后,对用户提供的用户账号、密码以及验证码等信息的有效性进行认证。\n[0008] 步骤S5:如果认证通过,则服务器端为该用户建立一个登录会话信息并进行记录,同时将必要的会话信息返回给客户端系统进行缓存。之后,用户通过客户端系统向服务器端发起的用户请求中都会携带该会话信息,以便服务器端对当前登录用户身份进行识别。\n如果认证没有通过,则向客户端系统直接返回错误信息。\n[0009] 如上述所述,现有的大多数所有网络服务的用户登录系统的登陆需要较多的用户输入。用户在每次登录过程中至少输入一次用户账号和密码,有些网站还要求用户输入验证码。其中,很多网络服务为了保证用户账户的信息的安全性,需要用户设置一个相对复杂的密码以保证足够的密码强度,因此用户记忆账号、密码的成本很高,还会经常出现忘记账号、密码的情况。并且验证码一般由系统随机生成,用户体验一般较差。尤其对于平板电脑等无外设键盘的移动设备,大量的输入给用户带来许多不便。\n[0010] 另外,一旦用户误入钓鱼网站进行登录,或设备受木马病毒感染,那么输入的账号、密码就存在被窃取的风险,安全性也比较低,尤其是对于在非个人设备,如网吧用户而言,用户信息安全性非常低。\n发明内容\n[0011] 本发明旨在至少解决现有技术中存在的技术问题之一。\n[0012] 为此,本发明的一个目的在于提出一种基于二维码的登录控制方法。方法避免了用户登陆过程中大量输入带来的不便,提高了用户账户的安全性,操作成本低,用户体验好。\n[0013] 本发明的第二个目的在于提出一种基于二维码的登录控制系统。\n[0014] 本发明的第三个目的在于提出一种云端服务器。\n[0015] 为达到上述目的,本发明第一方面的实施例提出了一种基于二维码的登录控制方法,包括以下步骤:网络服务提供商的云端服务器接收用户通过第一客户端发送的登录请求;所述云端服务器为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码;所述云端服务器将所述二维码发送至所述第一客户端并通过所述第一客户端进行显示;所述云端服务器接收第二客户端拍摄并解析所述二维码之后向二维码中的所述地址信息发送的代理登陆请求,其中,所述代理登陆请求包括所述用户的身份信息;所述云端服务器根据所述代理登陆请求对所述用户进行身份认证;所述云端服务器接收所述第一客户端的轮询请求或长连接请求,并在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息。\n[0016] 根据本发明实施例的基于二维码的登录控制方法,第一客户端发送登录请求后,显示云端服务器发送的二维码图片,由第二客户端解析第一客户端的二维码图片并发送代理登录请求,云端服务器身份认证成功之后第一客户端接收到用户登录会话信息。本方法充分第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,降低用户的登录的操作成本,提升了用户体验,简单高效的同时也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。\n[0017] 在本发明的一个实施例中,所述第一客户端在接收到所述二维码之后,周期性地向所述云端服务器发送轮询请求或长连接请求,其中,所述轮询请求或长连接请求中包含有所述标识串。\n[0018] 在本发明的一个实施例中,所述代理登陆请求包括所述标识串。\n[0019] 在本发明的一个实施例中,还包括:所述云端服务器对所述代理登陆请求中的标识串和身份信息进行认证,如果所述标识串或身份信息无效,则所述云端服务器向所述第二客户端返回错误信息。\n[0020] 在本发明的一个实施例中,还包括:所述云端服务器判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息;如果判断存储有以所述标识串为索引的数据项,则向所述第二客户端返回错误信息;如果判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证,则以所述标识串为索引建立对应的数据项,并向所述第二客户端返回登录成功信息。\n[0021] 在本发明的一个实施例中,在向所述第一客户端返回用户登录会话信息之后,还包括:将所述数据项中的标识串和对应的用户登录会话信息删除。\n[0022] 在本发明的一个实施例中,所述第二客户端为移动终端。\n[0023] 本发明第二方面的实施例提出了一种基于二维码的登录控制系统,包括第一客户端、第二客户端和云端服务器。其中,所述第一客户端用于向所述云端服务器发送登录请求,以及接收所述云端服务器发送的二维码并显示;所述云端服务器用于为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码,并将所述二维码发送至所述第一客户端,以及根据所述第二客户端发送的代理登陆请求对所述用户进行身份认证,接收所述第一客户端的轮询请求或长连接请求,并在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息;第二客户端用于对所述第一客户端显示的二维码进行拍摄,并对在解析所述二维码之后向二维码中的所述地址信息发送代理登陆请求,其中,所述代理登陆请求包括所述用户的身份信息。\n[0024] 根据本发明实施例的基于二维码的登录控制系统,第一客户端发送登录请求后,显示云端服务器发送的二维码图片,由第二客户端解析第一客户端的二维码图片并发送代理登录请求,云端服务器身份认证成功之后第一客户端接收到用户登录会话信息。本系统充分第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,降低用户的登录的操作成本,提升了用户体验,简单高效的同时也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。\n[0025] 在本发明的一个实施例中,所述第一客户端在接收到所述二维码之后,周期性地向所述云端服务器发送轮询请求或长连接请求,其中,所述轮询请求或长连接请求中包含有所述标识串。\n[0026] 在本发明的一个实施例中,所述代理登陆请求包括所述标识串。\n[0027] 在本发明的一个实施例中,所述云端服务器还用于对所述代理登陆请求中的标识串和身份信息进行认证,并在所述标识串或身份信息无效时向所述第二客户端返回错误信息。\n[0028] 在本发明的一个实施例中,所述云端服务器,还用于判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息,以及在判断存储有以所述标识串为索引的数据项时,向所述第二客户端返回错误信息,并在判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证时,以所述标识串为索引建立对应的数据项,并向所述第二客户端返回登录成功信息。\n[0029] 在本发明的一个实施例中,所述云端服务器,还用于在向所述第一客户端返回用户登录会话信息之后,将所述数据项中的标识串和对应的用户登录会话信息删除。\n[0030] 在本发明的一个实施例中,所述第二客户端为移动终端。\n[0031] 本发明第三方面的实施例提出了一种云端服务器,包括第一接收模块、二维码生成模块、第一发送模块、第二接收模块、认证模块、第三接收模块和第二发送模块。\n[0032] 其中,第一接收模块用于接收用户通过第一客户端发送的登录请求;二维码生成模块用于为所述登录请求分配标识串,并根据所述标识串和所述云端服务器的地址信息生成二维码;第一发送模块用于将所述二维码发送至所述第一客户端并通过所述第一客户端进行显示;第二接收模块用于接收第二客户端拍摄并解析所述二维码之后向二维码中的所述地址信息发送的代理登陆请求,其中,所述代理登陆请求包括所述用户的身份信息;认证模块用于根据所述代理登陆请求对所述用户进行身份认证;第三接收模块用于接收所述第一客户端的轮询请求或长连接请求;第二发送模块用于在所述用户通过身份认证之后向所述第一客户端返回用户登录会话信息。\n[0033] 根据本发明实施例的云端服务器接收第一客户端发送登录请求,并处理第二客户端发送的代理登录请求,身份认证成功之后向第一客户端发送用户登录会话信息。充分利用了第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,降低用户的登录的操作成本,提升了用户体验,简单高效的同时也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。\n[0034] 在本发明的一个实施例中,所述轮询请求或长连接请求中包含有所述标识串。\n[0035] 在本发明的一个实施例中,所述代理登陆请求包括所述标识串。\n[0036] 在本发明的一个实施例中,所述认证模块对所述代理登陆请求中的标识串和身份信息进行认证,如果所述标识串或身份信息无效,则所述第二发送模块还用于向所述第二客户端返回错误信息。\n[0037] 在本发明的一个实施例中,所述认证模块用于判断是否存储有以所述标识串为索引的数据项,其中,所述数据项中包含用户登录会话信息,并在判断存储有以所述标识串为索引的数据项时,通过所述第二发送模块向所述第二客户端返回错误信息。\n[0038] 在本发明的一个实施例中,还包括:数据项维护模块用于在判断未存储有以所述标识串为索引的数据项,且根据所述代理登陆请求判断所述用户通过认证时,以所述标识串为索引建立对应的数据项。\n[0039] 在本发明的一个实施例中,所述数据项维护模块还用于在向所述第一客户端返回用户登录会话信息之后,将所述数据项中的标识串和对应的用户登录会话信息删除。\n[0040] 在本发明的一个实施例中,所述第二客户端为移动终端。\n[0041] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。\n附图说明\n[0042] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:\n[0043] 图1是根据本发明实施例的基于二维码的登录控制方法的流程图;\n[0044] 图2是第一客户端A与云端服务器交互的流程图;\n[0045] 图3是第二客户端B与云端服务器交互的流程图;\n[0046] 图4是根据本发明实施例的基于二维码的登录控制系统的结构示意图;和[0047] 图5是根据本发明实施例的云端服务器的结构示意图。\n具体实施方式\n[0048] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。\n[0049] 下面参考图1描述根据本发明实施例的基于二维码的登录控制方法,包括以下步骤:\n[0050] 步骤S110:网络服务提供商的云端服务器接收用户通过第一客户端发送的登录请求。\n[0051] 步骤S120:云端服务器为登录请求分配标识串,并根据标识串和云端服务器的地址信息生成二维码。\n[0052] 步骤S130:云端服务器将二维码发送至第一客户端并通过第一客户端进行显示。\n[0053] 其中,在本发明的一个实施例中,第一客户端在接收到二维码之后,周期性地向云端服务器发送轮询请求或长连接请求,其中,轮询请求或长连接请求中包含有标识串。\n[0054] 步骤S140:云端服务器接收第二客户端拍摄并解析二维码之后向二维码中的地址信息发送的代理登陆请求,其中,代理登陆请求包括用户的身份信息。\n[0055] 其中,代理登陆请求还可以包括标识串。第二客户端为移动终端。\n[0056] 步骤S150:云端服务器根据代理登陆请求对用户进行身份认证。\n[0057] 在本发明的一个实施例中,还包括:云端服务器对代理登陆请求中的标识串和身份信息进行认证,如果标识串或身份信息无效,则云端服务器向第二客户端返回错误信息。\n[0058] 在本发明的一个实施例中,还包括:\n[0059] 步骤S151:云端服务器判断是否存储有以标识串为索引的数据项,其中,数据项中包含用户登录会话信息。\n[0060] 步骤S152:如果判断存储有以标识串为索引的数据项,则向第二客户端返回错误信息。\n[0061] 步骤S153:如果判断未存储有以标识串为索引的数据项,且根据代理登陆请求判断用户通过认证,则以标识串为索引建立对应的数据项,并向第二客户端返回登录成功信息。\n[0062] 步骤S160:云端服务器接收第一客户端的轮询请求或长连接请求,并在用户通过身份认证之后向第一客户端返回用户登录会话信息。\n[0063] 在本发明的一个实施例中,在向第一客户端返回用户登录会话信息之后,还包括:\n将数据项中的标识串和对应的用户登录会话信息删除。\n[0064] 下面以图2和图3中描述的第一客户端A、第二客户端B与云端服务器交互实现登录控制为例,对本方法进行解释说明,可以理解的是,下述交互仅出于示例目的,本发明的实施例不限于此。其中登录由图2、图3中的第一客户端A和第二客户端B协同完成,下面以用户一次登录过程为例对实现步骤进行介绍:\n[0065] 步骤S210:用户通过第一客户端A以非登录用户的身份访问网络服务提供商的某个网络服务,例如某网站的贴吧。其中A可以是PC或笔记本等设备上的某客户端模块。\n[0066] 步骤S220:用户通过点击相应界面元素向云端服务器发送登录请求。如点击登录链接或按钮向云端服务器发送登录请求。\n[0067] 步骤S230:网络服务提供商的云端服务器生成全局唯一的标识串RS,以及包含RS信息的二维码QR。\n[0068] 步骤S240:云端服务器将RS和QR等数据返回至第一客户端A。\n[0069] 步骤S250:第一客户端A接收到二维码图片,并在用户登录界面上进行显示。\n[0070] 步骤S260:第一客户端A同时将包含RS等数据的请求通过轮询或长连接技术,周期性的发送至服务端。通过请求返回的结果,可以确定是否有用户基于该二维码进行了登录:\n如果云端服务器返回的信息表明有用户已经登录,则进入步骤S2310;否则,第一客户端A保留在用户登录界面上。\n[0071] 步骤S270:用户打开第二客户端B上的登录代理应用程序。其中,登录代理应用程序具有摄像功能和二维码扫描识别功能。第二客户端B可以是移动终端。\n[0072] 步骤S280:登录代理应用程序通过摄像头扫描第一客户端A上的二维码图片。\n[0073] 步骤S290:通过登录代理应用程序解析获得该二维码图片所对应的RS信息。\n[0074] 步骤S2100:确定用户以何种用户身份登录在第一客户端A上所访问的服务。其中,用户身份可以通过用户交互操作或读取服务的缓存数据得到。如用户交互操作可以是用户从保存在本地存储系统中的多个用户账号中进行选择,或接收用户输入的账号和密码。\n[0075] 步骤S2110:向云端服务器发送包括RS、用户身份信息等数据的代理登录处理请求。其中,用户身份信息包括如用户名、密码,或已登录用户的会话信息。\n[0076] 步骤S2120:云端服务器接收到代理登录请求,对用户身份进行认证。\n[0077] 步骤S2130:云端服务器判断RS和用户身份信息的有效性。\n[0078] 步骤S2140:如果其中任意一个数据被判断无效,则云端服务器向第二客户端B的登录代理应用程序返回错误信息。\n[0079] 步骤S2150:如果都有效,云端服务器判断中是否已存在以RS为索引,以用户登录会话信息(SESSION信息)为值的键值对数据项。\n[0080] 步骤S2160:如果存在,则云端服务器返回错误信息至登录代理应用程序。\n[0081] 步骤S2170:如果登录代理应用程序接收到云端服务器返回错误信息,登录代理应用程序进行错误提示,并引导用户重新进行登录。\n[0082] 步骤S2180:如果不存在,则云端服务器将用户状态置为登录状态。\n[0083] 步骤S2190:创建一个包含该用户身份信息的登录会话,保存键值对。\n[0084] 步骤S2200:向第二客户端B返回登录成功信息。\n[0085] 步骤S2210:登录代理应用程序接收云端服务器返回登录成功信息。\n[0086] 步骤S2220:云端服务器接收第一客户端A发送的包含RS的请求。并执行如下步骤:\n[0087] 步骤S2230:判断RS有效性。\n[0088] 步骤S2240:如果无效,则云端服务器返回错误信息。\n[0089] 步骤S2250:如果RS有效,则判断系统中是否存在以RS为索引,以用户登录会话信息为值的键值对。\n[0090] 步骤S2260:如果不存在,则返回错误信息。\n[0091] 步骤S2270:如果键值对存在,则向第一客户端A返回用户登录会话信息。\n[0092] 步骤S2280:同时,云端服务器可以选择在返回登录会话信息后,将RS数据和键值对作废。从而避免用户的会话信息被他人获取,保证了用户数据的安全性。\n[0093] 步骤S2290:第一客户端A接收到服务端返回的信息。\n[0094] 步骤S2300:如果接收到的是错误信息,则向云端服务器重新发起网络请求。\n[0095] 步骤S2310:如果接收到用户登录会话信息,则将登录会话信息存储到本模块的相应存储空间里,并将用户重定向回之前访问的网络服务。若接收到的是用户登录会话信息,说明已有用户基于该二维码登录,因此用户可以得到所访问的数据。\n[0096] 根据本发明实施例的基于二维码的登录控制方法,当第一客户端发起登录请求时,由云端服务器返回二维码,由第二客户端解析并发起代理登录请求,云端服务器认证用户身份后向第一客户端发起响应。通过第二客户端应用程序的拍摄和二维码解析,充分利用了第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,从而降低了用户的登录的操作成本,同时提升了用户体验。本方法简单高效,而且也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。、\n[0097] 下面参考图4描述根据本发明实施例的一种基于二维码的登录控制系统100,包括第一客户端110、第二客户端120和云端服务器130。\n[0098] 其中,第一客户端110用于向云端服务器130发送登录请求,以及接收云端服务器\n130发送的二维码并显示;云端服务器130用于为登录请求分配标识串,并根据标识串和云端服务器130的地址信息生成二维码,并将二维码发送至第一客户端110,以及根据第二客户端120发送的代理登陆请求对用户进行身份认证,接收第一客户端110的轮询请求或长连接请求,并在用户通过身份认证之后向第一客户端110返回用户登录会话信息;第二客户端\n120用于对第一客户端110显示的二维码进行拍摄,并对在解析二维码之后向二维码中的地址信息发送代理登陆请求,其中,代理登陆请求包括用户的身份信息。\n[0099] 在本发明的一个实施例中,第一客户端110在接收到二维码之后,周期性地向云端服务器130发送轮询请求或长连接请求,其中,轮询请求或长连接请求中包含有标识串。\n[0100] 其中,代理登陆请求可以包括标识串。第二客户端120可以为移动终端。\n[0101] 在本发明的一个实施例中,云端服务器130还用于对代理登陆请求中的标识串和身份信息进行认证,并在标识串或身份信息无效时向第二客户端120返回错误信息。\n[0102] 在本发明的一个实施例中,云端服务器130还用于判断是否存储有以标识串为索引的数据项,其中,数据项中包含用户登录会话信息,以及在判断存储有以标识串为索引的数据项时,向第二客户端120返回错误信息,并在判断未存储有以标识串为索引的数据项,且根据代理登陆请求判断用户通过认证时,以标识串为索引建立对应的数据项,并向第二客户端120返回登录成功信息。\n[0103] 在本发明的一个实施例中,云端服务器130还用于在向第一客户端110返回用户登录会话信息之后,将数据项中的标识串和对应的用户登录会话信息删除。\n[0104] 下面以第一客户端110、第二客户端120与云端服务器130交互实现登录控制为例,对本系统进行解释说明,可以理解的是,下述交互仅出于示例目的,本发明的实施例不限于此。\n[0105] 步骤S310:用户通过第一客户端110以非登录用户的身份访问网络服务提供商的某个网络服务,例如某网站的贴吧。其中第一客户端110可以是PC或笔记本等设备上的某客户端模块。用户通过点击相应界面元素向云端服务器130发送登录请求。如点击登录链接或按钮向云端服务器130发送登录请求。\n[0106] 步骤S320:网络服务提供商的云端服务器130生成全局唯一的标识串RS,以及包含RS信息的二维码QR。云端服务器130将RS和QR等数据返回至第一客户端110。\n[0107] 步骤S330:第一客户端110接收到二维码图片,并在用户登录界面上进行显示。第一客户端110同时将包含RS等数据的请求通过轮询或长连接技术,周期性的发送至服务端。\n通过请求返回的结果,可以确定是否有用户基于该二维码进行了登录:如果云端服务器130返回的信息表明有用户已经登录,则进入步骤S380;否则,第一客户端110保留在用户登录界面上。\n[0108] 步骤S340:用户打开第二客户端120上的登录代理应用程序。其中,登录代理应用程序具有摄像功能和二维码扫描识别功能。第二客户端120可以是移动终端。登录代理应用程序通过摄像头扫描第一客户端110上的二维码图片。通过登录代理应用程序解析获得该二维码图片所对应的RS信息。登录代理应用程序确定用户以何种用户身份登录在第一客户端110上所访问的服务。其中,用户身份可以通过用户交互操作或读取服务的缓存数据得到。如用户交互操作可以是用户从保存在本地存储系统中的多个用户账号中进行选择,或接收用户输入的账号和密码。登录代理应用程序向云端服务器130发送包括RS、用户身份信息等数据的代理登录处理请求。其中,用户身份信息包括如用户名、密码,或已登录用户的会话信息。\n[0109] 步骤S350:云端服务器130接收到代理登录请求,对用户身份进行认证。云端服务器130判断RS和用户身份信息的有效性。如果其中任意一个数据被判断无效,则云端服务器\n130向第二客户端120的登录代理应用程序返回错误信息。如果都有效,云端服务器130判断中是否已存在以RS为索引,以用户登录会话信息(SESSION信息)为值的键值对数据项。如果存在,则云端服务器130返回错误信息至登录代理应用程序。如果登录代理应用程序接收到云端服务器130返回错误信息,登录代理应用程序进行错误提示,并引导用户重新进行登录。如果不存在,则云端服务器130将用户状态置为登录状态。创建一个包含该用户身份信息的登录会话,保存键值对。向第二客户端120返回登录成功信息。\n[0110] 步骤S360:登录代理应用程序接收云端服务器130返回登录成功信息。\n[0111] 步骤S370:云端服务器130接收第一客户端110发送的包含RS的请求。并执行如下步骤:\n[0112] 步骤S371:判断RS有效性。\n[0113] 步骤S372:如果无效,则云端服务器130返回错误信息。\n[0114] 步骤S373:如果RS有效,则判断系统中是否存在以RS为索引,以用户登录会话信息为值的键值对。\n[0115] 步骤S374:如果不存在,则返回错误信息。\n[0116] 步骤S375:如果键值对存在,则向第一客户端110返回用户登录会话信息。\n[0117] 步骤S376:同时,云端服务器130可以选择在返回登录会话信息后,将RS数据和键值对作废。从而避免用户的会话信息被他人获取,保证了用户数据的安全性。\n[0118] 步骤S380:第一客户端110接收到服务端返回的信息。如果第一客户端110接收到的是错误信息,则向云端服务器130重新发起网络请求。如果第一客户端110接收到用户登录会话信息,则将登录会话信息存储到本模块的相应存储空间里,并将用户重定向回之前访问的网络服务。若接收到的是用户登录会话信息,说明已有用户基于该二维码登录,因此用户可以得到所访问的数据。\n[0119] 根据本发明实施例的基于二维码的登录控制系统,当第一客户端发起登录请求时,由云端服务器返回二维码,由第二客户端解析并发起代理登录请求,云端服务器认证用户身份后向第一客户端发起响应。通过第二客户端应用程序的拍摄和二维码解析,充分利用了第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,从而降低了用户的登录的操作成本,同时提升了用户体验。本系统使得登陆过程简单高效,而且也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。\n[0120] 下面参考图5描述根据本发明实施例的一种云端服务器200,包括第一接收模块\n210、二维码生成模块220、第一发送模块230、第二接收模块240、认证模块250、第三接收模块260、第二发送模块270和数据项维护模块280。\n[0121] 其中,第一接收模块210用于接收用户通过第一客户端发送的登录请求;二维码生成模块220用于为登录请求分配标识串,并根据标识串和云端服务器的地址信息生成二维码;第一发送模块230用于将二维码发送至第一客户端并通过第一客户端进行显示;第二接收模块240用于接收第二客户端拍摄并解析二维码之后向二维码中的地址信息发送的代理登陆请求,其中,代理登陆请求包括用户的身份信息;认证模块250用于根据代理登陆请求对用户进行身份认证;第三接收模块260用于接收第一客户端的轮询请求或长连接请求;第二发送模块270用于在用户通过身份认证之后向第一客户端返回用户登录会话信息。\n[0122] 其中,轮询请求或长连接请求中可以包含有标识串。代理登陆请求可以包括标识串。第二客户端可以为移动终端。\n[0123] 在本发明的一个实施例中,认证模块250对代理登陆请求中的标识串和身份信息进行认证,如果标识串或身份信息无效,则第二发送模块270还用于向第二客户端返回错误信息。\n[0124] 在本发明的一个实施例中,认证模块250用于判断是否存储有以标识串为索引的数据项,其中,数据项中包含用户登录会话信息,并在判断存储有以标识串为索引的数据项时,通过第二发送模块270向第二客户端返回错误信息。\n[0125] 在本发明的一个实施例中,还包括:数据项维护模块280用于在判断未存储有以标识串为索引的数据项,且根据代理登陆请求判断用户通过认证时,以标识串为索引建立对应的数据项。\n[0126] 在本发明的一个实施例中,数据项维护模块280还用于在向第一客户端返回用户登录会话信息之后,将数据项中的标识串和对应的用户登录会话信息删除。\n[0127] 下面以云端服务器与第一客户端、第二客户端一个具体交互实现登录控制为例,对根据本发明实施例的云端服务器进行解释说明,可以理解的是,下述交互仅出于示例目的,本发明的实施例不限于此。\n[0128] 第一接收模块210接收用户向云端服务器发送的登录请求。二维码生成模块220生成全局唯一的标识串RS,以及包含RS信息的二维码QR。第一发送模块230将RS和QR等数据返回至第一客户端。\n[0129] 。第二客户端通过摄像头扫描第一客户端的二维码图片。解析获得该二维码图片所对应的RS信息、确定用户以何种用户身份登录在第一客户端上所访问的服务。向云端服务器发送包括RS、用户身份信息等数据的代理登录处理请求。其中,用户身份信息包括如用户名、密码,或已登录用户的会话信息。\n[0130] 第二接收模块240接收到代理登录请求,认证模块250对用户身份进行认证。认证模块250判断RS和用户身份信息的有效性。如果其中任意一个数据被判断无效,第二发送模块270向第二客户端的登录代理应用程序返回错误信息。如果都有效,认证模块250判断中是否已存在以RS为索引,以用户登录会话信息(SESSION信息)为值的键值对数据项。如果存在,则第二发送模块270返回错误信息至登录代理应用程序。如果不存在,认证模块250将用户状态置为登录状态。数据项维护模块280创建一个包含该用户身份信息的登录会话,保存键值对。向第二客户端返回登录成功信息。\n[0131] 第三接收模块260用于接收第一客户端的轮询请求或长连接请求,请求可以包含RS信息。并执行如下步骤:认证模块250判断RS有效性;如果无效,则第二发送模块270返回错误信息;如果认证模块250判断RS有效,则继续判断系统中是否存在以RS为索引,以用户登录会话信息为值的键值对;如果不存在,则第二发送模块270返回错误信息;如果认证模块250判断键值对存在,则向第一客户端返回用户登录会话信息;同时,数据项维护模块280可以选择在返回登录会话信息后,将RS数据和键值对作废。从而避免用户的会话信息被他人获取,保证了用户数据的安全性。\n[0132] 根据本发明实施例的云端服务器,接收到第一客户端发起登录请求时返回二维码,当第二客发起代理登录请求时,云端服务器认证用户身份后,成功过后向第一客户端发起响应,从而完成登陆过程。本云端服务器充分利用了第二客户端的功能和资源优势,不需要用户每次登录都输入相关用户名、密码,从而降低了用户的登录的操作成本,同时提升了用户体验。使得登陆过程简单高效,而且也降低了被钓鱼、木马窃取密码等风险,保障了用户账号安全性。\n[0133] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。\n[0134] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
法律信息
- 2016-08-31
- 2013-04-24
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201210576567.4
申请日: 2012.12.26
- 2013-03-27
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-11-07
|
2012-07-27
| | |
2
| |
2012-05-16
|
2010-04-19
| | |
3
| |
2010-12-15
|
2010-07-23
| | |
4
| |
2012-07-11
|
2012-01-19
| | |
5
| |
2012-09-19
|
2011-12-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |