一种用户数据授权方法、装置及系统的制作方法

文档序号:7895008阅读:185来源:国知局
专利名称:一种用户数据授权方法、装置及系统的制作方法
技术领域
本发明涉及网络服务技术领域,尤其涉及一种用户数据授权方法、装置及系统。
背景技术
当前,网络服务已经全面的应用于人们的日常工作和生活中。在使用网络服务时, 网络服务提供商根据其内部保存的用户数据,为用户提供相应的服务。
以网络游戏为例,在用户享受网络游戏这一网络服务时,涉及到的用户数据可能包括用户基本信息(例如用户姓名、用户年龄、归属地等)、用户等级、该名用户创建的多个游戏角色、每个游戏角色特有的信息(例如角色的等级、配置的游戏装备、与其他用户角色之间的关系)等,网络服务提供商的游戏服务器就可以根据其内部保存的上述用户数据,为用户提供游戏服务。随着信息技术的不断发展,为了最大程度的挖掘网络服务提供商保存的数据的价值,各大网络服务提供商纷纷推出开放平台,将本身存储的数据开放出去,供第三方开发者使用。然而,因为网络服务提供商开放出去的数据中包括有安全性要求较高的用户数据,因此,在第三方需要访问这部分用户数据时,一方面要得到用户的使用授权,另一方面还要通过网络服务提供商的鉴权,只有同时满足这两方面要求,第三方才能访问网络服务提供商保存的用户数据。对于第三方要得到用户的使用授权这一要求来说,目前被广泛采用的授权方法是以用户为单位完成的,也就是说,用户要么对第三方进行使用授权,要么不对第三方进行使用授权,不能实现用户对第三方的部分使用授权。然而,一般情况下,用户的一个账号下往往会包含有多个子账号,如果用户只想将其拥有的部分子账号对应的用户数据向第三方进行使用授权,现有的技术方案就无法满足这种需求。仍以网络游戏为例,用户数据中的多个游戏角色就相当于一个用户账号下的多个子账号,如果用户只想向第三方应用服务器授权其中一个或几个游戏角色,当采用现有技术的方案进行使用授权时,只要用户向第三方应用服务器进行使用授权,那么第三方应用服务器得到的就是用户创建的所有游戏角色的使用授权,这显然与用户的授权意愿相违背的,不能满足用户的需求,降低了用户对网络游戏的服务体验。

发明内容
本发明所要解决的技术问题是,提供一种用户数据授权方法、装置及系统,以实现用户对第三方应用服务器的部分使用授权的目的。为解决上述技术问题,本发明实施例提供了一种用户数据授权方法,包括授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址;向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证;接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识;
从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号;接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。优选的,所述认证网关对客户端用户进行身份认证,具体包括获取客户端用户的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户;将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。优选的,所述方法还包括在所述接收客户端返回的授权子账号之后,将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据;则,所述建立并保存所述对应关系具体包括在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;所述利用所述服务器地址向所述第三方应用服务器发送的信息具体为用户标识、授权子账号、授权用户数据和访问令牌。优选的,所述方法还包括在所述建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系之前,判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则继续执行建立并保存所述对应关系的步骤。优选的,所述利用所述服务器地址将所述用户标识、授权子账号和访问令牌发送至所述第三方应用服务器,具体包括生成授权码,并利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器;接收所述第三方应用服务器发送的服务器标识和授权码,如果所述服务器标识与所述授权请求中的服务器标识相符,且所述授权码与所述生成的授权码相符,则将所述访问令牌发送至所述第三方应用服务器。优选的,所述方法还包括接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;
其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。优选的,所述方法还包括所述访问请求还包括用户数据,则,
所述访问请求中的数字签名具体为利用服务器标识、访问令牌、用户标识、子账号和用户数据五项信息生成的数字签名;所述合法性鉴权具体包括利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系, 如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。优选的,所述方法还包括所述访问请求还包括当前时间戳;则,所述合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。本发明实施例还提供了一种用户数据授权装置,包括授权请求接收单元,用于接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址;认证请求发送单元,用于向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证;认证响应接收单元,用于接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识;查找单元,用于从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号;对应关系建立单元,用于接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;授权信息发送单元,用于利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。优选的,所述装置还包括
用户数据发送单元,用于将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据;所述对应关系建立单元,用于在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;所述授权信息发送单元,用于利用所述服务器地址将所述用户标识、授权子账号、 授权用户数据和访问令牌发送至所述第三方应用服务器。优选的,所述装置还包括判断单元,用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则通知所述对应关系建立单元建立并保存所述对应关系。优选的,所述授权信息发送单元具体包括 授权码生成单元,用于生成授权码;通信单元,用于利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器;并接收所述第三方应用服务器发送的服务器标识和授权码;比对单元,用于比对所述服务器标识与所述授权请求中的服务器标识是否相符, 且所述授权码与所述生成的授权码是否相符,如果均相符,则将所述访问令牌发送至所述第三方应用服务器。优选的,所述装置还包括访问请求接收单元,用于接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;鉴权单元,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。本发明实施例还提供了一种用户数据授权系统,所述系统包括授权服务器、第三方应用服务器、认证网关、客户端,所述授权服务器,用于接收所述第三方应用服务器发送的授权请求,并向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证,所述授权请求包括服务器标识和服务器地址;所述认证网关,用于对客户端用户进行身份认证,并向所述授权服务器发送包括认证通过用户的用户标识的身份认证响应;所述授权服务器,还用于接收所述身份认证响应,并查找与所述用户标识相匹配的用户子账号,并发送至客户端;所述客户端,用于接收所述用户子账号,并从中选择授权子账号发送至所述授权服务器;所述授权服务器,还用于接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;并利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。优选的,所述认证网关具体包括 登录状态获取单元,用于获取客户端用户的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户;转换单元,用于将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。优选的,所述授权服务器,还用于将所述授权子账号包含的用户数据发送至客户端,并在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;并利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。优选的,所述授权服务器,还用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则继续执行建立并保存所述对应关系的步骤。优选的,所述系统还包括开放平台网关;所述开放平台网关,用于接收所述第三方应用服务器发送的访问请求,并转发至所述授权服务器,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;所述授权服务器,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。优选的,所述授权服务器接收到的所述访问请求中还包括用户数据,且所述访问请求中的数字签名具体为利用服务器标识、访问令牌、用户标识、子账号和用户数据五项信息生成的数字签名;则,所述授权服务器进行合法性鉴权具体包括利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;
判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系, 如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。优选的,所述授权服务器接收到的所述访问请求中还包括当前时间戳;则,所述授权服务器进行合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。本发明实施例的用户数据授权方法、装置及系统,授权服务器内保存有一个用户账号下的多个子账号信息,从而在引导用户对第三方应用服务器进行使用授权时,可以通过查找与用户标识相匹配的多个子账号信息,由用户从中选择出部分子账号作为授权子账号的方式,实现用户对第三方应用服务器的部分使用授权,提高了网络服务的服务质量,改善了用户的服务体验。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。图I为本发明方法实施例I的流程示意图;图2为本发明方法实施例2的流程示意图;图3为本发明方法实施例3的流程示意图;图4为本发明方法实施例4的流程示意图;图5为本发明方法实施例5的流程示意图;图6为本发明方法实施例6的流程示意图;图7为本发明装置实施例I的结构示意图;图8为本发明装置实施例I中授权信息发送单元706的结构示意图;图9为本发明装置实施例2的结构示意图;图10为本发明装置实施例3的结构示意图;图11为本发明装置实施例4的结构示意图;图12为本发明系统实施例I的结构示意图;图13为本发明系统实施例I中认证网关113的结构示意图; 图14为本发明系统实施例2的结构示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的用户数据授权方法、装置及系统旨在实现用户对第三方的部分使用授权这一目的,为了方便理解,首先介绍一下本发明的应用环境。原始的网络服务只涉及两方,一是作为使用方的用户,一是作为服务提供方的服务提供商,用户将数据保存在服务提供商的服务器内,并在需要时向服务器发送请求,由服务提供商为用户提供相应的网络服务。例如,用户A在游戏服务提供商盛大的游戏服务器上创建了一个用户账号,并在该游戏服务器上保存了与用户A相关的用户数据(例如,注册时填写的用户基本信息,游戏过程中产生的用户等级、游戏装备、创建的角色等用户数据),那么在用户A想要享受网络游戏这一网络服务时,只需要与游戏服务器间建立通信,游戏服务器就可以根据保存的用户数据为用户A提供游戏服务。随着信息技术的发展,开放平台应运而生,服务提供商将其保存的数据开放给第三方(可以是公司也可以是个人),在这种新的网络服务模式,用户就可以通过服务提供商 的平台享受第三方提供的网络服务,例如,用户A可以通过盛大游戏开放平台享受到多玩提供的星辰变游戏充值的网络服务;也可以通过盛大游戏开放平台享受新浪微博提供的永恒之塔角色装备查询服务等等。对于这种新的网络服务模式来说,如果用户想要通过开放平台享受第三方提供的服务,那么就必须以第三方可以从服务提供商处获取其用户数据为前提,否则第三方就无法为用户提供服务,而第三方能否获取到用户数据又取决于用户对第三方的使用授权。现有技术中用户只能将其自身作为一个整体,以用户为单位对第三方进行使用授权,却不能实现部分使用授权,本发明就是在这种需求下提出了一种授权粒度小的用户数据授权方法。实施例一参见图1,示出了本发明的一种用户数据授权方法实施例I的流程图,可以包括以下步骤步骤101,授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址。如果用户A在游戏服务提供商的平台上注册了一个用户账号,同时在该用户账号下创建了三个子账号,分别为游戏角色ApA2和A3 (游戏角色可体现为每个角色具有的游戏标识、游戏区标识、游戏组标识和游戏角色标识),那么这些数据就被保存在了游戏服务商的平台内。另外,如果游戏服务商的平台开放给了两个第三方B1和B2,也就是说第三方B1和B2在平台上完成了注册,那么平台还保存有B1和B2的注册信息(例如第三方的服务器标识ID1、通信用密钥等信息)。如果用户A想以子账号A1的身份登录第三方B1,享受B1提供的网络服务,那么B1在接收到A1的登录请求后,会去开放平台获取子账号A1对应的用户数据,这样B1才能为用户A提供相应的网络服务。如果用户A对第三方B1进行了子账号A1的使用授权,那么开放平台就会对B1的访问请求进行鉴权,并在判断请求合法后,将B1请求的A1的用户数据返给B1,进而由B1为用户提供网络服务。但是,如果用户A未对B1进行子账号A1的使用授权或者开放平台对B1的鉴权未通过,那么开放平台就会提示第三方B1要引导用户A对其进行子账号A1的使用授权。
本步骤授权服务器接收第三方应用服务器发送的授权请求即是第三方引导用户进行使用授权的启动步骤。其 中,授权请求中包含服务器标识ID1的目的是为了使授权服务器获知进行本次授权请求的第三方是谁(此外,授权服务器还可以根据ID1判断该第三方是否在开放平台注册过,因为只有在开放平台注册过的第三方才有权限请求用户对其进行使用授权),包含服务器地址的目的是为了在用户完成使用授权后,授权服务器可以准确的将授权信息发送给请求授权的第三方。需要说明的是,所谓“引导”即是网页重定向,也就是通过各种的方法将各种网络请求重新定个方向转到其它位置。本步骤中的引导是指显示给用户A的页面从第三方B1的登录界面跳转到提示用户对B1进行使用授权的授权网站的界面的过程。步骤102,向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证。步骤103,接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识。授权服务器接收到第三方的授权请求后,并不直接提示用户A对第三方B1进行使用授权,而是要先引导用户A到认证网关进行身份认证(此处的引导是指将显示给A的页面从授权网站的界面跳转到身份认证的界面),这是因为如果不对用户进行身份认证就无法获知用户的身份信息,进而也就无法获知该用户拥有的子账号信息,导致授权操作受阻。认证网关对用户进行身份认证的方式可体现为首先,获取用户A的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户A进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户。对于用户的登录状态此处需要说明一下,一般情况下经授权服务器引导到认证网关的用户都是未成功登录的用户,但是也可能因为网络之间的互联互通(互联互通,是指在不同电信网络之间建立有效连接,使不同网络的用户之间可以通信,或一个网络的用户可使用另一个网络的服务)情况导致用户登录状态为已成功登录。其次,将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。将已成功登录用户的用户名转换为用户标识ID2的目的是为了保证用户数据的安全性,不直接将用户的隐私信息(例如用户名)泄露给第三方。步骤104,从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号。授权服务器从身份认证响应中提取出用户标识ID2,并在本授权服务器内查找与该标识相匹配的用户子账号,例如查找到与用户A的标识相匹配的子账号包括ApA2和A3,则将这三个子账号发送至客户端,向用户显示,供用户从中选择欲向第三方B2授权的子账号,例如用户选择了子账号4。步骤105,接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系。授权服务器将用户A的全部子账号推送给用户查看后,就等待接收用户的反馈信息,并将用户选择的子账号作为本次授权给B1的授权子账号,然后建立服务器标识^^、用户标识ID2和授权子账号A1之间的对应关系。这样,授权服务器就知晓了哪个用户将其下属的哪些子账号授权给了哪个第三方,以便在第三方发送访问请求时,授权服务器可以对访问请求进行合法性鉴权。步骤106,利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。授权服务器在执行步骤105之后就获知了第三方、用户和子账号之间的授权情况,而若完成用户对第三方的使用授权,还需要让第三方也知晓其获得了哪个用户的哪些子账号的使用授权,因此授权服务器还需要根据步骤101授权请求中的服务器地址将用户标识、授权子账号和表示访问权限的访问令牌发送至第三方。至此,就完成了用户对第三方的部分使用授权过程。
按照上述示例来说,通过执行本发明的步骤就实现了用户A向第三方B1授权子账号A1的使用权限(实质上是对第三方B1授权了其对子账号A1对应的用户数据的访问权限)这一目的。作为步骤106的一种实现方式,可具体体现为首先,生成授权码,并利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器。其次,接收所述第三方应用服务器发送的服务器标识和授权码,如果所述服务器标识与所述授权请求中的服务器标识相符,且所述授权码与所述生成的授权码相符,则将所述访问令牌发送至所述第三方应用服务器。授权服务器可以直接将用户标识、授权子账号和访问令牌发送给第三方应用服务器,但是,为了保证授权服务器和第三方应用服务器间通信的安全性和可靠性,授权服务器生成一组随机数作为授权码,并将用户标识、授权子账号和授权码发送给第三方应用服务器;第三方应用服务器则在接收到上述授权信息后,将授权码以及自身的服务器标识反馈给授权服务器,以此换取访问令牌。实施例二在实施例I的基础上,本发明还进一步细化对第三方的授权粒度,以子账号对应的用户数据为单位对第三方进行使用授权。参见图2,示出了本发明的一种用户数据授权方法实施例2的流程图,可以包括以下步骤步骤201,授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址。步骤202,向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证。步骤203,接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识。步骤204,从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号。步骤201 步骤204与步骤10步骤104相同,此处不再赘述。步骤205,接收客户端返回的授权子账号,将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据。
与实施例I不同,本实施例进一步细化了向第三方授权的粒度,在授权服务器接收到用户选择的授权子账号之后,还进一步去获取该子账号包含的用户数据,例如,子账号的昵称、等级、头像、好友、动态等,然后将子账号包含的这些用户数据推送至客户端,显示给用户查看,以便用户可以从中选择出想要向第三方授权子账号的哪些用户数据,即由用户A选择其欲将子账号A1的哪些用户数据授权给第三方B1,例如用户选择了 A1的“头像”用户数据。步骤206,接收所述客户端返回的授权用户数据,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系。经过步骤205之后,本步骤中授权服务器获知的就是哪个用户将其下属的哪个子账号的哪些用户数据授权给了哪个第三方,因此,授权服务器需要建立的对应关系就是服务器标识、用户标识、授权子账号和授权用户数据间的对应关系。
按照上述示例来说,授权服务器此时建立并保存的是服务器标识ID1、用户标识ID2、授权子账号A1和授权用户数据“头像”之间的对应关系。步骤207,利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。实施例三为了提高授权可靠性,防止用户的授权行为被恶意篡改,参见图3,示出了本发明的一种用户数据授权方法实施例3的流程图,可以包括以下步骤步骤301,授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址。步骤302,向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证。步骤303,接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识。步骤304,从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号。步骤301 步骤304与步骤10步骤104相同,此处不再赘述。步骤305,接收客户端返回的授权子账号,并判断所述授权子账号是否包含于所述用户子账号。步骤306,在所述授权子账号包含于所述用户子账号时,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系。授权服务器在建立并保存所述对应关系之前,先判断其接收到的授权子账号的合法性,即判断授权子账号是否是用户下属的多个子账号中的一个或多个,如果是,则判定接收到的授权子账号合法,然后再建立所述对应关系。如果经授权服务器判断,发现用户下属的子账号中并不存在接收到的授权子账号(例如,接收到的授权子账号为A4,用户A下属的子账号ApA2和A3均无法与之匹配),那么用户选择的授权子账号可能被恶意篡改过,此时判定接收到的授权子账号非法,不再继续建立所述对应关系,同时还可向用户告警。步骤307,利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。
步骤307与步骤106相同,此处亦不再赘述实施例四同样地,为了提高授权可靠性,防止用户的授权行为被恶意篡改,参见图4,示出了本发明的一种用户数据授权方法实施例4的流程图,可以包括以下步骤步骤401,授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址。步骤402,向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证。步骤403,接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识。步骤404,从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号。步骤405,接收客户端返回的授权子账号,将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据。步骤401 步骤405与步骤201 步骤205相同,此处不再赘述。需要说明的是,在步骤405接收到客户端返回的授权子账号之后,也可以利用用户下属的子账号判断一下接收到的授权子账号的合法性,保证子账号的授权可靠性。步骤406,接收所述客户端返回的授权用户数据,判断所述授权用户数据是否包含于所述用户数据。步骤407,在所述授权用户数据包含于所述用户数据时,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系。授权服务器在建立并保存所述对应关系之前,先判断其接收到的授权用户数据的合法性,即判断授权用户数据是否是授权子账号包含的多个用户数据中的一个或多个,如果是,则判定接收到的授权用户数据合法,然后再建立所述对应关系。如果经授权服务器判断,发现授权子账号包含的用户数据中并不存在接收到的授权用户数据(例如,用户A的子账号A1包含的用户数据为等级、头像、好友、动态,而授权服务器接收到的授权用户数据为“昵称”,那么子账号A1包含的所有用户数据均无法与之匹配),则用户选择的授权用户数据可能被恶意篡改过,此时判定接收到的授权用户数据非法,不再继续建立所述对应关系,同时还可向用户告警。经过步骤406和步骤407就能保证用户数据的授权可靠性。步骤408,利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。实施例五参见图5,示出了本发明的一种用户数据授权方法实施例5的流程图,在图I所示的实施例I和图3所示的实施例3将用户标识、授权子账号和访问令牌发送至第三方应用服务器之后,所述方法还可以包括鉴权第三方应用服务器发送的访问请求的过程,具体体现为以下步骤步骤501,接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法。步骤502,对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括(I)利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;(2)判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;(3)判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令 牌相符,如果相符,则判定所述访问令牌合法。如果访问请求、授权服务器、用户标识、子账号和访问令牌均合法,则判定鉴权通过。实施例六参见图6,示出了本发明的一种用户数据授权方法实施例6的流程图,在图2所示的实施例2和图4所示的实施例4将用户标识、授权子账号、授权用户数据和访问令牌发送至第三方应用服务器之后,所述方法还可以包括鉴权第三方应用服务器发送的访问请求的过程,具体体现为以下步骤步骤601,接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号、用户数据(用户数据即为第三方本次请求访问的内容,可体现为访问程序接口 API名称)五项信息,以及所述五项信息的数字签名和生成所述数字签名采用的签名方法。步骤602,对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权具体包括(I)利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;(2)判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;(3)判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。如果访问请求、授权服务器、用户标识、子账号、用户数据和访问令牌均合法,则判定鉴权通过。实施例七为了防止重放攻击,在图5所示的实施例5和图6所示的实施例6的基础上,本发明还可按照以下方法鉴权第三方应用服务器发送的访问请求,具体地,所述访问请求中还包括当前时间戳;则所述合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。
如果访问请求、授权服务器、用户标识、子账号、用户数据、访问令牌和当前时间戳均合法,则判定鉴权通过。实施例八参见图7,示出了本发明的一种用户数据授权装置实施例I的结构框图,所述装置包括授权请求接收单元701,用于接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址;
认证请求发送单元702,用于向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证;认证响应接收单元703,用于接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识;查找单元704,用于从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号;对应关系建立单元705,用于接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;授权信息发送单元706,用于利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。进一步地,如图8所示,所述授权信息发送单元具体可以包括授权码生成单元7061,用于生成授权码;通信单元7062,用于利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器;并接收所述第三方应用服务器发送的服务器标识和授权码;比对单元7063,用于比对所述服务器标识与所述授权请求中的服务器标识是否相符,且所述授权码与所述生成的授权码是否相符,如果均相符,则将所述访问令牌发送至所述第三方应用服务器。实施例九参见图9,示出了本发明的一种用户数据授权装置实施例2的结构框图,所述装置还包括用户数据发送单元707,用于将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据;所述对应关系建立单元705,用于在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;所述授权信息发送单元706,用于利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。实施例十参见图10,示出了本发明的一种用户数据授权装置实施例3的结构框图,所述装置还包括判断单元708,用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则通知所述对应关系建立单元建立并保存所述对 应关系。实施例^^一参见图11,示出了本发明的一种用户数据授权装置实施例4的结构框图,所述装置还包括访问请求接收单元709,用于接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;鉴权单元710,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。实施例十二参见图12,示出了本发明的一种用户数据授权系统实施例I的结构框图,所述系统包括授权服务器111、第三方应用服务器112、认证网关113、客户端114,其中,所述授权服务器,用于接收所述第三方应用服务器发送的授权请求,并向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证,所述授权请求包括服务器标识和服务器地址;所述认证网关,用于对客户端用户进行身份认证,并向所述授权服务器发送包括认证通过用户的用户标识的身份认证响应;所述授权服务器,还用于接收所述身份认证响应,并查找与所述用户标识相匹配的用户子账号,并发送至客户端;所述客户端,用于接收所述用户子账号,并从中选择授权子账号发送至所述授权服务器;所述授权服务器,还用于接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;并利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。本发明用户数据授权系统中的授权服务器、第三方应用服务器、认证网关和客户端相互配合就实现了本发明用户对第三方部分使用授权的目的。参见图13,示出了认证网关的结构框图,具体包括登录状态获取单元1131,用于获取客户端用户的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户;转换单元1132,用于将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。进一步地,本发明还可细化用户对第三方授权的粒度,实现以子账号包含的用户数据为单位进行授权,此时,所述授权服务器,还用于将所述授权子账号包含的用户数据发送至客户端,并在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;并利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。进一步地,为了提高授权可靠性,防止用户的授权行为被恶意篡改,所述授权服务器,还用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则继续执行建立并保存所述对应关系的 步骤。实施例十三参见图14,示出了本发明的一种用户数据授权系统实施例2的结构框图,所述系统还包括开放平台网关115;所述开放平台网关,用于接收所述第三方应用服务器发送的访问请求,并转发至所述授权服务器,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;所述授权服务器,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。进一步地,如果用户以子账号包含的用户数据为单位对第三方进行使用授权,那么在鉴权第三方访问请求合法性时,所述授权服务器接收到的所述访问请求中还包括用户数据,且所述访问请求中的数字签名具体为利用服务器标识、访问令牌、用户标识、子账号和用户数据五项信息生成的数字签名;则, 所述授权服务器进行合法性鉴权具体包括利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。进一步地,为了防止重放攻击,那么在鉴权第三方访问请求合法性时,所述授权服务器接收到的所述访问请求中还包括当前时间戳;则,所述授权服务器进行合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本发明的具体实施方式
,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种用户数据授权方法,其特征在于,包括授权服务器接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址;向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证;接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识;从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号; 接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。
2.根据权利要求I所述的方法,其特征在于,所述认证网关对客户端用户进行身份认证,具体包括获取客户端用户的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户;将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。
3.根据权利要求I所述的方法,其特征在于,所述方法还包括在所述接收客户端返回的授权子账号之后,将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据;则,所述建立并保存所述对应关系具体包括在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;所述利用所述服务器地址向所述第三方应用服务器发送的信息具体为用户标识、授权子账号、授权用户数据和访问令牌。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括在所述建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系之前,判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则继续执行建立并保存所述对应关系的步骤。
5.根据权利要求I所述的方法,其特征在于,所述利用所述服务器地址将所述用户标识、授权子账号和访问令牌发送至所述第三方应用服务器,具体包括生成授权码,并利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器;接收所述第三方应用服务器发送的服务器标识和授权码,如果所述服务器标识与所述授权请求中的服务器标识相符,且所述授权码与所述生成的授权码相符,则将所述访问令牌发送至所述第三方应用服务器。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符, 如果相符,则判定所述访问令牌合法。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括所述访问请求还包括用户数据,则,所述访问请求中的数字签名具体为利用服务器标识、访问令牌、用户标识、子账号和用户数据五项信息生成的数字签名;所述合法性鉴权具体包括利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符, 如果相符,则判定所述访问令牌合法。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括所述访问请求还包括当前时间戳;则,所述合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。
9.一种用户数据授权装置,其特征在于,包括授权请求接收单元,用于接收第三方应用服务器发送的授权请求,所述授权请求包括服务器标识和服务器地址;认证请求发送单元,用于向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证;认证响应接收单元,用于接收所述认证网关返回的身份认证响应,所述身份认证响应包括认证通过用户的用户标识;查找单元,用于从授权服务器内查找与所述用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号;对应关系建立单元,用于接收客户端返回的授权子账号,建立并保存所述服务器标识、用户标识和授权子账号间的对应关系;授权信息发送单元,用于利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括用户数据发送单元,用于将所述授权子账号包含的用户数据发送至客户端,供客户端用户选择授权用户数据;所述对应关系建立单元,用于在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;所述授权信息发送单元,用于利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括判断单元,用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则通知所述对应关系建立单元建立并保存所述对应关系。
12.根据权利要求9所述的装置,其特征在于,所述授权信息发送单元具体包括授权码生成单元,用于生成授权码;通信单元,用于利用所述服务器地址将所述用户标识、授权子账号和授权码发送至所述第三方应用服务器;并接收所述第三方应用服务器发送的服务器标识和授权码;比对单元,用于比对所述服务器标识与所述授权请求中的服务器标识是否相符,且所述授权码与所述生成的授权码是否相符,如果均相符,则将所述访问令牌发送至所述第三方应用服务器。
13.根据权利要求9-12任一项所述的装置,其特征在于,所述装置还包括访问请求接收单元,用于接收开放平台网关转发的所述第三方应用服务器发送的访问请求,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;鉴权单元,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符, 如果相符,则判定所述访问令牌合法。
14.一种用户数据授权系统,其特征在于,所述系统包括授权服务器、第三方应用服务器、认证网关、客户端,所述授权服务器,用于接收所述第三方应用服务器发送的授权请求,并向认证网关发送身份认证请求,以使所述认证网关对客户端用户进行身份认证,所述授权请求包括服务器标识和服务器地址;所述认证网关,用于对客户端用户进行身份认证,并向所述授权服务器发送包括认证通过用户的用户标识的身份认证响应;所述授权服务器,还用于接收所述身份认证响应,并查找与所述用户标识相匹配的用户子账号,并发送至客户端;所述客户端,用于接收所述用户子账号,并从中选择授权子账号发送至所述授权服务器;所述授权服务器,还用于接收客户端返回的授权子账号,建立并保存所述服务器标识、 用户标识和授权子账号间的对应关系;并利用所述服务器地址将所述用户标识、所述授权子账号和表示访问权限的访问令牌发送至所述第三方应用服务器。
15.根据权利要求14所述的系统,其特征在于,所述认证网关具体包括登录状态获取单元,用于获取客户端用户的登录状态,如果为已成功登录,则判定用户为认证通过用户;如果未成功登录,则提示用户进行用户名和密码验证,并在用户名和密码验证通过后,判定用户为认证通过用户;转换单元,用于将所述认证通过用户的用户名转换为用户标识,并将所述用户标识添加到身份认证响应中发送至授权服务器。
16.根据权利要求14所述的系统,其特征在于,所述授权服务器,还用于将所述授权子账号包含的用户数据发送至客户端,并在接收到所述客户端返回的授权用户数据之后,建立并保存所述服务器标识、用户标识、授权子账号和授权用户数据间的对应关系;并利用所述服务器地址将所述用户标识、授权子账号、授权用户数据和访问令牌发送至所述第三方应用服务器。
17.根据权利要求16所述的系统,其特征在于,所述授权服务器,还用于判断所述授权子账号是否包含于所述用户子账号,以及判断所述授权用户数据是否包含于所述用户数据,如果判断结果均为是,则继续执行建立并保存所述对应关系的步骤。
18.根据权利要求14-17任一项所述的系统,其特征在于,所述系统还包括开放平台网关;所述开放平台网关,用于接收所述第三方应用服务器发送的访问请求,并转发至所述授权服务器,所述访问请求包括服务器标识、访问令牌、用户标识、子账号四项信息,以及所述四项信息的数字签名和生成所述数字签名采用的签名方法;所述授权服务器,用于对所述访问请求进行合法性鉴权,如果鉴权通过,则允许所述第三方应用服务器访问所述访问请求中的子账号包含的所有用户数据;其中,所述合法性鉴权包括利用所述签名方法对所述四项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识和子账号是否满足所述授权服务器保存的所述授权服务器、用户标识和授权子账号间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识和子账号合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符,如果相符,则判定所述访问令牌合法。
19.根据权利要求18所述的系统,其特征在于,所述授权服务器接收到的所述访问请求中还包括用户数据,且所述访问请求中的数字签名具体为利用服务器标识、访问令牌、用户标识、子账号和用户数据五项信息生成的数字签名;贝IJ,所述授权服务器进行合法性鉴权具体包括利用所述签名方法对所述五项信息进行数字签名,并与所述访问请求中包含的数字签名比对,如果相同,则判定所述访问请求合法;判断所述访问请求中的服务器标识、用户标识、子账号和用户数据是否满足所述授权服务器保存的所述授权服务器、用户标识、授权子账号和授权用户数据间的对应关系,如果满足,则判定所述访问请求中的授权服务器、用户标识、子账号和用户数据合法;判断所述访问令牌是否与所述授权服务器发送给第三方应用服务器的访问令牌相符, 如果相符,则判定所述访问令牌合法。
20.根据权利要求18所述的系统,其特征在于,所述授权服务器接收到的所述访问请求中还包括当前时间戳;贝IJ,所述授权服务器进行合法性鉴权还包括判断所述当前时间戳是否在预设延迟时间段内,如果是,则判定所述当前时间戳合法。
全文摘要
本发明公开了一种用户数据授权方法、装置及系统,方法包括授权服务器接收第三方应用服务器发送的授权请求,授权请求包括服务器标识和服务器地址;向认证网关发送身份认证请求,以使认证网关对客户端用户进行身份认证;接收认证网关返回的身份认证响应,身份认证响应包括认证通过用户的用户标识;从授权服务器内查找与用户标识相匹配的用户子账号,并发送至客户端,供客户端用户选择授权子账号;接收客户端返回的授权子账号,建立并保存服务器标识、用户标识和授权子账号间的对应关系;利用服务器地址将用户标识、授权子账号和访问令牌发送至第三方应用服务器。实现了用户对第三方的部分使用授权,提高了网络服务质量,改善了用户的服务体验。
文档编号H04L29/06GK102638473SQ201210137848
公开日2012年8月15日 申请日期2012年5月4日 优先权日2012年5月4日
发明者杜江杰, 王奎, 胡溢洋 申请人:盛趣信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1