一种二维码登录方法、服务器及系统的制作方法_2

文档序号:9376110阅读:来源:国知局
一个方面,提供了一种二维码登录系统,适于登录第三方应用, 包括:客户端、第一服务器、根据本发明的第二服务器、以及第三服务器,其中:第一服务器 适于与客户端、第二服务器、第三服务器交互,响应第三方应用的第一请求、第二请求;第三 服务器适于与第一服务器交互,生成二维码后返回二维码地址;客户端驻留在移动终端中, 适于扫描第三方应用显示的所述二维码,还适于与第一服务器交互。
[0030] 根据本发明的二维码登陆方案,通过扫描二维码可直接登录用户在第三方应用的 账户,实现快速、安全的账号认证登陆,解决了过去的繁琐登录问题。并且本发明通过生成 唯一固定的标识将用户在客户端的账户与用户在第三方应用的账户建立联系,因此整个登 录过程不会收集用户在第三方应用的任何信息,解决了帐号安全、撞库风险等问题。
【附图说明】
[0031] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方 面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面 旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述 以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的 部件或元素。
[0032] 图1示出了根据本发明一个示例性实施例的二维码登录系统100的结构框图;
[0033] 图2示出了根据本发明一个示例性实施例的第一服务器110的结构框图;
[0034] 图3示出了根据本发明一个示例性实施例的第二服务器120的结构框图;
[0035] 图4示出了根据本发明一个示例性实施例的客户端140的结构框图;以及
[0036] 图5示出了根据本发明一个实施例的二维码登录方法500的流程图。
【具体实施方式】
[0037] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0038] 图1示出了根据本发明一个示例性实施例的二维码登录系统100的结构框图。二 维码登录系统100通过网络与第三方应用相连,用户可通过二维码登录系统100扫描二维 码直接登录第三方应用,无需输入其在第三方应用上的第三方账户和密码。这里,第三方应 用可以是需要账户登录的、安装在移动终端里的各种应用,也可以是第三方网站,本发明对 此不做限制。如图1所示,二维码登录系统100可以包括第一服务器110、第二服务器120、 第三服务器130以及客户端140,第一服务器110通过网络分别与第二服务器120、第三服 务器130以及客户端140连接。
[0039] 图2示出了根据本发明一个示例性实施例的第一服务器110的结构框图,第一服 务器110可以包括接收单元111、控制单元112以及响应单元113,还可以包括转发单元 114、验证单元115。
[0040] 图3示出了根据本发明一个示例性实施例的第二服务器120的结构框图,第二服 务器120可以包括接收单元121、控制单元122以及反馈单元123,还可以包括验证单元 124、存储单元125。
[0041] 第三方应用向第一服务器110发送第一请求,请求获取二维码。第一服务器110 中接收单元111适于接收来自第三方应用的第一请求,第一请求通常为http请求,可由第 三方应用调用其预先嵌入的API接口生成,API由二维码登录系统100厂商提供维护。可选 地,第一请求包括应用标识,该应用标识可唯一地标识第三方应用身份,一个合法的应用标 识例如:"Fqlw4Z2KCqHzvw8YN0eUpM9KgTQ47iWf"。而应用标识由第二服务器120预先创建。 具体地,在第三方应用生成第一请求之前,第三方应用向第二服务器120发出创建请求,请 求创建应用。第二服务器120中接收单元121响应该请求,与接收单元121相连的控制单 元122创建与该第三方应用唯一关联的应用标识(app_id)并存储至存储单元125,而后反 馈单元123将应用标识返回至第三方应用。
[0042] 第一请求还可以包括第一签名,通常可通过验证第一签名来确保数据交互的安全 性,防止数据被篡改。该第一签名可根据第三方应用的应用密钥生成,一个合法的应用密钥 例如 :"qms7LWYXgW5FbnVdWYyA"。应用密钥与应用标识相同地,在第二服务器120响应来自 第三方应用的创建请求时创建,第二服务器120中控制单元122创建与该第三方应用唯一 关联的应用密钥(app_key)并存储至存储单元125,而后反馈单元123将应用密钥返回至第 三方应用。
[0043] 每一次第三方应用向第一服务器110发送请求,均需要向第一服务器110传递一 个签名(Signature),第一服务器110将请求转发至第二服务器120验证,第二服务器120 中验证单元124会根据该请求中的参数值计算签名,而后将其与请求中的签名比对,比对 一致则数据安全,验证通过。其中请求传递的签名与第二服务器120生成的签名计算原理 相同,具体如下:
[0044] 将请求中除签名之外的其他参数按参数名字典排序后,按以下格式拼接成字符 串:$参数名1 = $参数值1$参数名2 = $参数值2. . . $参数名η = $参数值n$app_key, 并将拼好的字符串使用MD5加密,最后得到的字符串即为该请求的签名。
[0045] 转发单元114与接收单元111相连,适于将接收单元111接收的第一请求转发至 第二服务器120。第二服务器120中接收单元121适于接收来自第一服务器110的第一请 求,验证单元124验证第一请求。根据本发明的一个实施方式,验证单元124通过验证第一 签名来验证第一请求,确保第一请求数据没有被篡改。具体地,第二服务器120中存储单元 125存储有第三方应用的应用标识和应用密钥,验证单元124可根据第一请求中携带的应 用标识获取该应用标识对应的应用密钥,根据该应用密钥和应用标识生成第一验证签名。 这里假定第三方应用获取的应用标识和应用密钥如下:
[0046] $app_id = JFqlw4Z2KCqHzvw3YN0eUpM9KgTQ47ifff,;
[0047] $app-key = ' qms7LwYXgw3FbnVdwYyA' ;
[0048] 除第一签名外,该第一请求共一个参数app_id,则按照上述签名生成原理,可根据 app_id拼接字符串:' app_id = ' · $app_id. $app_key,之后,把拼接的字符串,使用MD5加 密:md5 (' app_id = ' · $app_id. $app_key),即得到第一验证签名。验证单元124将该第一 验证签名与第一签名比对,若一致则验证通过,否则验证失败,而后反馈单元123将该验证 消息(验证通过或者验证失败)返回至第一服务器110。
[0049] 若验证通过,第二服务器120中控制单元122则根据应用标识生成第一信 息,第一信息包括该应用标识,通常为字符串,此外,内容还可以包括指定域名、时间戳 以及随机数。具体地,控制单元122将应用标识、时间戳和随机数拼接并加密,其中 加密方式可以是Base64编码,本发明对此不做限制。加密后在首端加上指定域名, 即得到类似于以下的第一信息:"http://yc. im/bjGArUq091RnS5sSeF2X9yaIL0HB/ RbrEb3KTIfdi0GAffbho70DwXyA4Xhfs/VCqFywQszmjzwMHG6TSRaBcKGg = = ?,〇
[0050] 反馈单元123将上述第一信息同验证消息返回至第一服务器110,接收单元111接 收来自第二服务器120的验证消息和第一信息,若验证消息为验证通过,与接收单元111相 连的控制单元112则创建与第一请求关联的事件标识,并存储,其中事件标识可唯一地标 识第一请求。
[00
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1