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

文档序号:9376110阅读:来源:国知局
51] 同时,转发单元114可以将第一信息转发至第三服务器130,第三服务器130接收 第一信息后根据该第一信息生成二维码,该二维码包含第一信息,并将该二维码的地址返 回至第一服务器110。例如,二维码地址可以如下:
[0052] https://qrcode. yangcong. com/qrcode/1432774598. 27qoUQy3. png〇
[0053] 接收单元111接收来自第三服务器130的二维码地址,控制单元112将第一请 求的事件标识与生成该二维码的第一信息进行关联,例如,以事件标识为key,第一信息为 value,建立二者--对应的映射表。
[0054] 而后与控制单元112相连的响应单元113响应第一请求,将事件标识与二维 码地址返回至第三方应用。可选地,还可以返回状态码(status)和相应的状态码描述 (description),其中状态码为一个表示请求结果的数字,状态码描述为对应状态码含义的 文字描述,表1列出了响应第一请求返回的几种状态码与相应的状态码描述:
[0055]
[0056]
[0057] 表 1
[0058] 响应单元113的返回示例如下:
[0059]
[0060] 返回的数据通常为j son格式。
[0061] 而后,第三方应用接收二维码地址和事件标识,在其界面上显示该地址对应的二 维码,生成包括该事件标识的第二请求发送至第一服务器110,第二请求请求获取该事件标 识所对应的事件响应结果,例如获取等待用户扫描二维码产生响应或直至返回超过事件标 识有效时间不可重试。该事件标识有效时间可以为300s。
[0062] 第一服务器110中接收单元111接收来自第三方应用的第二请求。可选地,第二 请求除事件标识外还可以包括应用标识、第二签名。转发单元114将第二请求发送至第二 服务器120。
[0063] 第二服务器120中接收单元121接收来自第一服务器110的第二请求,验证单元 124验证第二请求。根据本发明的一个实施方式,验证单元124通过验证第二签名来验证 第二请求,确保第二请求数据没有被篡改。具体地,存储单元125存储有第三方应用的应用 标识和应用密钥,验证单元124可根据第二请求中携带的应用标识查询获取该应用标识对 应的应用密钥,根据该应用标识、事件标识和应用密钥生成第二验证签名,即md5(' app_id =' · $app_id. ' event_id = ' · $event_id. $app_key),具体签名生成原理已在关于第一请 求的描述中详细说明,此处不再赘述。
[0064] 验证单元124将该第二验证签名与第二签名比对,若一致则验证通过,否则验证 失败,而后反馈单元123将该验证消息(验证通过或者验证失败)返回至第一服务器110。
[0065] 第一服务器110中接收单元111接收来自第二服务器120的该验证消息,若验证 通过,控制单元112根据第二请求中事件标识查询该事件响应结果,响应单元113可以响应 第二请求,返回状态码和相应的状态码描述,表2列出了响应第二请求返回的几种状态码 与相应的状态码描述:
[0066]
[0067]
[0068] 表 2
[0069] 若返回状态码为602"等待用户响应,可重试",第三方应用可以在事件标识有效时 间内重试发送第二请求至第一服务器110,直至返回状态码200 "请求成功"或者603 "用 户响应超时,不可重试"为止。
[0070] 在上述事件标识有效时间内,用户通过客户端140扫描第三方应用显示的二维 码,图4示出了根据本发明一个实施例的客户端140的结构框图。
[0071] 客户端140驻留在移动终端中,可以包括扫描单元141、交互单元142以及显示单 元143,还可以包括验证单元144。扫描单元141适于扫描第三方应用显示的二维码,获取 该二维码包含的内容,即第一信息。与扫描单元141相连的验证单元144验证该第一信息, 确保二维码来源安全。具体地,验证单元144可验证第一信息是否包括指定域名,例如,是 否包含http://yc. im/,若包括,则二维码来源安全,验证通过。
[0072] 而后交互单元142将包括第一信息的第二信息发送至第一服务器110,以便第一 服务器110对第二信息进行处理后,返回处理消息至客户端140。其中第二信息还可以包括 用户信息(即客户端当前登录的用户账户,用户账户可以是用户手机号等)和客户端信息, 客户端信息可以包括客户端标识(可唯一地标识客户端140)、wifi信息、经炜度信息以及 设备信息。
[0073] 第一服务器110中接收单元111接收来自客户端140扫描二维码后生成的第二信 息,与接收单元111相连的验证单元115验证第二信息中客户端信息,确保该信息来自客户 端140。可选地,客户端信息包括随机密钥(secret),随机密钥通常在客户端140利用用户 信息登录第一服务器110后由控制单元112分配。接收单元140接收来自客户端140的随 机密钥后,验证单元115验证该随机密钥是否与第一服务器110为该客户端140分配的值 一致,若一致,则验证通过,否则,验证失败。
[0074] 验证通过后,转发单元114将第二信息转发至第二服务器120,第二服务器120中 接收单元121接收来自第一服务器110的第二信息,验证单元124验证第二信息后反馈单 元123将验证消息返回至第一服务器110。可选地,验证单元124可以验证第二信息中用户 信息是否存在、以及验证第二信息中第一信息是否包括指定域名,若用户信息存在且第一 信息包括指定域名,则验证通过,否则验证失败。根据本发明的另一个实施方式,第二服务 器120中接收单元121还适于接收客户端信息,控制单元122还适于将该客户端信息与用 户信息关联后存储至存储单元125。
[0075] 验证通过后,第二服务器120中控制单元122根据第二信息生成用户标识,根据本 发明的一个实施方式,控制单元122可以根据第二信息中应用标识和用户信息生成用户标 识,例如对用户信息和应用标识进行笛卡尔积运算后得到用户标识。这里,用户标识为用 户在客户端140对应第三方应用生成的唯一且固定的ID账号,用户标识与用户信息、应用 标识的笛卡尔积唯一对应,从用户标识中无法获知用户信息、应用标识,保证了用户账户安 全。而后,第二服务器120中反馈单元123将用户标识发送至第一服务器110。
[0076] 第一服务器110中接收单元111接收来自第二服务器120的验证消息和用户标 识,若验证通过,则控制单元112查询获取第二信息中第一信息关联的事件标识,将该事件 标识与用户标识进行关联,例如,以事件标识为key,用户标识为value,建立二者一一对应 的映射表。同时控制单元112还可以删除该事件标识与第一信息的关联关系,以节省存储 空间。
[0077] 控制单元112与响应单元113相连,此时响应单元113响应上述来自第三方应用 的第二请求,根据第二请求中事件标识查询该事件响应结果,即获取第二请求中事件标识 关联的用户标识,将该用户标识发送至第三方应用。而后控制单元112可以删除事件标识、 用户标识及其关联关系。
[0078] 根据本发明的另一个实施方式,控制单元112还适于根据用户标识、事件标识生 成第三签名,第三签名生成原理同第一签名、第二签名,即md5 (' uid = '. $uid. $eventid), 其中uid为用户标识,eventid为事件标识,而后响应单元113将用户标识和第三签名一齐 返回至第三方应用。
[0079] 第三方应用接收来自第一服务器110的用户标识和第三签名,验证第三签名,避 免传输过程被恶意修改。具体地,第三方应用根据用户标识和事件标识生成第三验证签名, 将该第三验证签名与第三签名比对,若一致则验证通过,否则验证失败。
[0080] 验证通过后,第三方应用登录该用户标识对应的第三方账户。例如,第三方应用查
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1