一种处理授权的方法、设备和系统与流程

文档序号:12623905阅读:270来源:国知局
一种处理授权的方法、设备和系统与流程
本发明涉及通信
技术领域
,尤其涉及一种处理授权的方法、设备和系统。
背景技术
:随着互联网的快速发展,各种全国一张网、全球一张网的理念迅速普及,运营商各省、各基地独立为战的局面已经满足不了用户需求,各种能力中心应运而生。如中国移动用户中心统一管理所有用户信息,其它应用需要获取用户信息时通过访问用户中心提供的接口,实现用户信息集中化管理,将用户资源集中,更大的发挥其大数据的价值。能力中心在集中了本能力相关的资源数据后,还需要将这些数据开放给第三方客户端(下文简称:客户端)访问。在开放访问中,数据的安全性至关重要。OAuth2.0作为一个简易、安全、开放的认证授权协议,可以被能力中心引入用于解决数据开放安全问题。能力中心的资源通常都是受保护的,在OAuth协议中,客户端并不是直接使用资源拥有者的私有证书来访问受保护资源,而是得到一个访问令牌——一个代表某一特定作用域(授权范围)、持续时间和其它属性的字符串。访问令牌由认证服务器在资源拥有者的授意下生成并分发给客户端。客户端使用访问令牌来访问由资源服务器托管的受保护资源。具体的,当用户通过客户端访问资源时,流程如下:1、客户端向认证服务器请求授权;2、认证服务器将客户端的请求导向到资源所有者,请求资源所有者授权;3、资源所有者审核请求消息后,同意授权;4、认证服务器接收到资源所有者返回的同意授权的消息后,生成并向客户端发放访问令牌;5、客户端携带访问令牌到资源服务器上请求访问资源信息;6、资源服务器向客户端返回资源信息。我们可以看到,每个用户请求访问资源时,为了安全起见,都需要导向到资源所有者进行授权,这大大增加了资源所有者的授权工作量。技术实现要素:本发明提供了一种处理授权的方法、设备和系统,以解决多个用户来访问 资源信息时,需要资源信息所属的资源所有者多次授权的技术问题。第一方面,本发明提供一种授权方法,包括:接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;生成第一访问令牌,并将所述第一访问令牌发送给所述第一客户端。结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:向群组服务器发送包含所述第一用户的用户ID的群组查询消息;接收所述群组服务器返回的群组确认消息,所述群组确认消息包括所述第一用户所属的群组信息,其中,所述群组信息包括所述第一用户所属的群组的群组标识。结合第一方面,在第一方面的第二种可能的实现方式中,所述根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:查询本地保存的群组数据库,所述群组数据库包括保存的群组标识和对应的群组成员信息;根据所述第一用户的用户ID,确定所述第一用户所属的群组的群组标识。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在所述接收第一用户通过第一客户端发送的授权请求之前,所述方法还包括:接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述资源的标识;根据所述第二用户的用户ID,确定所述第二用户属于所述群组;确定所述群组未获得所述资源所有者的授权;向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;生成第二访问令牌,并将所述第二访问令牌发送给所述第二客户端。结合第一方面或者第一方面的第一种至第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息之前,所述方法还包括:确定所述资源所有者没有对所述第一用户授权。第二方面,提供了一种认证服务器,包括:接收模块,用于接收第一用户 通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;确定模块,用于根据所述接收模块接收到的第一用户的用户ID,确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;发送模块,用于生成第一访问令牌,将所述第一访问令牌发送给所述第一客户端。结合第二方面,在第二方面的第一种可能的实现方式中,所述确定模块用于根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:向群组服务器发送包含所述第一用户的用户ID的群组查询消息;接收所述群组服务器返回的群组确认消息,所述群组确认消息包括所述第一用户所属的群组信息,其中,所述群组信息包括所述第一用户所属的群组的群组标识。结合第二方面,在第二方面的第二种可能的实现方式中,所述确定模块用于根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:查询本地保存的群组数据库,所述群组数据库包括保存的群组标识和对应的群组成员信息;根据所述第一用户的用户ID,确定所述第一用户所属的群组的群组标识。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述认证服务器还包括:所述接收模块,还用于接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述资源的标识;所述确定模块,还用于根据所述接收模块接收的第二用户的用户ID,确定所述第二用户属于所述群组;确定所述群组未获得所述资源所有者的授权;所述发送模块,还用于向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;所述接收模块,还用于接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;保存模块,用于保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;所述发送模块,还用于生成第二访问令牌,将所述第二访问令牌发送给所述第二客户端。结合第二方面或者第二方面的第一种至第三种可能的实现方式,在第二方面的第四种可能的实现方式中,在所述确定模块,用于根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息之前,所述确定模块还用于,确定所述资源所有者没有对所述第一用户授权。第三方面,还提供了一种处理授权的系统,包括第一客户端,用于向认证 服务器发送授权请求,所述授权请求包括第一用户的用户标识ID和请求访问的资源的标识;认证服务器,用于接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;生成第一访问令牌,并将所述第一访问令牌发送给所述第一客户端。结合第三方面,在第三方面的第一种可能的实现方式中,所述系统还包括:第二客户端,用于向认证服务器发送授权请求,所述授权请求包括第二用户的用户标识ID和所述资源的标识;所述认证服务器,还用于接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述资源的标识;根据所述第二用户的用户ID,确定所述第二用户属于所述群组;确定所述群组未获得所述资源所有者的授权;向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;生成第二访问令牌,并将所述第二访问令牌发送给所述第二客户端。根据本发明提供的技术方案,由于资源所有者已经对群组进行了授权,并且认证服务器保存了群组与该资源的授权记录,所以当该群组中的其他群组成员针对该资源请求授权时,认证服务器不需要继续向资源所有者申请许可,直接根据相应的授权记录生成访问令牌返回给客户端,从而有效的减轻了资源所有者的授权负担。附图说明图1为本发明一实施例所提供的一种处理授权的系统框图;图2为本发明一实施例所提供的一种处理授权的方法的流程图;图3为本发明一实施例所提供的一种处理授权的方法示范性信令图;图4为本发明一实施例所提供的又一种处理授权的方法示范性信令图;图5为本发明一实施例所提供的一种认证服务器的结构示意图;图6为本发明一实施例所提供的一种认证服务器的另一种结构示意图;图7为本发明一实施例所提供的一种处理授权的系统结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。为了全面理解本发明,在以下详细描述中提到了众多具体细节。但是本领域技术人员应该理解,本发明可以无需这些具体细节实现。在其他实例中,不详细描述公知的方法、过程、组件和电路等,以免造成实施例不必要地模糊。显然,以下所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是在本发明实施例当中描述的认证服务器、群组服务器以及资源服务器的相关功能可以由同一个设备的不同功能模块实现,也可以由不同的设备分别实现,本发明对此不作限定。此外,在下文描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。图1是依据本发明一实施例所提供的处理授权的系统框图。该系统包含多个通信设备,通过有线或者无线通信网络相互通信。其中,客户端102:一般是指提供给用户用于获取授权和访问资源服务器上的资源信息的应用。资源服务器104:用于存储资源信息(如图片、视频、消费信息等),并提供访问的服务器。当用户通过客户端请求访问资源服务器上的资源信息时,必须提供与自身建立有信任关系的认证服务器发放的访问令牌,资源服务器验证通过后,向用户返回请求访问的资源信息。认证服务器106:服务提供商专门用来处理用户认证,为客户端发放访问令牌的服务器。可以与资源服务器合设,也可以独设。群组服务器108:用来存储用户和群组的关系。具体的,可以是系统管理员、资源所有者或者其他具有访问群组服务器权限的用户来设置用户和群组的关系。例如,用户A登录群组服务器,并在群组服务器上设置群组X,且群组X包括用户A、用户B和用户C,则群组服务器上就存储了用户A、用户B、用户C 与群组X的关系。当群组创建好后,群组的创建者可以授权其他用户对该创建的群组进行管理。需要说明的是,本发明中对创建及管理群组的具体方式不做限定。资源所有者110:资源信息(如图片、视频、消费信息等)的所有者,其它用户访问存储在资源服务器上的资源信息时,需要先经过资源所有者许可,在资源所有者同意授权的前提下,认证服务器才会根据资源所有者的许可信息,为客户端生成访问令牌。以下结合附图详细说明本申请涉及的授权方法、装置及系统的实现。图2为本发明提供的一种授权方法的流程图。该实施例中,提供了用户通过客户端访问资源服务器上的资源信息的授权过程。在具体实现过程中,该处理授权的方法可由认证服务器来执行。所述认证服务器用于在资源所有者许可的情况下,为客户端发放访问令牌。客户端通过向资源服务器出示所述访问令牌来访问受保护的资源。该认证服务器可以与资源服务器合设,也可以作为一个单独的设备存在。当认证服务器接收到客户端发送的授权请求后,根据授权请求中的用户标识,先确定用户所属的群组。如果该群组已经获得授权,则认证服务器直接向用户发送访问令牌,而不需要再次向资源所有者申请许可;如果该群组该群组还没有获得资源所有者的许可,则认证服务器先向资源所有者申请对所述群组进行许可,如果资源所有者同意对所述群组授权,则认证服务器保存所述群组与请求访问的资源的授权记录,并生成访问令牌,返回给客户端。具体的,所述方法包括:步骤202:接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;具体的,所述客户端可以是第三方开发的应用软件或者浏览器插件。用户通过客户端向认证服务器发送授权请求,并且在该授权请求中携带用户ID和请求访问的资源的标识,其中请求访问的资源的标识可以是该资源对应的统一资源标识(URI,UniformResourceIdentifier)。认证服务器根据授权请求中的请求访问的资源的标识可以确定该资源对应的资源所有者,当用户ID对应的用户还没有取得请求访问的资源的标识对应的资源的访问权限时,认证服务器将会向资源所有者申请授权许可,只有当资源所有者同意对用户进行授权时,认证服务器才会生成访问令牌,并发送给客户端,否则用户申请授权的请求将会被拒绝,从而用户无法访问想要访问的资源。步骤204:根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息;可选的,在认证服务器上保存有一个群组数据库,该群组数据库记录了群组信息,所述群组信息包括群组名称以及该群组包含的群组成员信息。所述群组成员信息具体可以是群组成员标识或其它群组成员特征的描述信息。所述根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:查询所述群组数据库,获得群组成员中包含所述第一用户的用户ID的群组信息。可选的,在授权系统中,另设一个群组服务器,所述群组服务器记录了群组信息。所述根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:向群组服务器发送包含所述第一用户的用户ID的群组查询消息;接收所述群组服务器返回的群组确认消息,所述群组确认消息包括所述第一用户所属的群组信息。需要说明的是,在具体实现中,群组服务器返回给认证服务器的群组信息可以只包括所述第一用户所属的群组的群组标识,也可以进一步还包括所述第一用户所属的群组的群组成员标识。可选的,当接收到群组信息包括群组标识和群组成员标识时,认证服务器可以将接收到的群组信息保存到本地数据库,当认证服务器下次接收授权请求,需要查询用户标识所属的群组信息时,优先查询本地数据库,如果本地数据库没有记录时,则再向群组服务器发送群组查询消息。可选的,在步骤204之前,所述授权方法还包括:认证服务器确定请求访问的资源对应的资源所有者没有对所述第一用户授权。在本发明提供的方案中,当认证服务器接收到用户通过客户端发送的授权请求时,可以先判断资源拥有者是否对该用户进行过授权,如果资源拥有者已经对该用户访问资源进行授权,则直接执行步骤214。如果资源拥有者没有对该用户访问资源进行授权,则需要进一步判断该资源所有者是否对包含该用户的某个群组进行了授权。当资源所有者对群组X访问资源进行了授权,那么作为该群组X的群组成员访问该资源时,则无需再申请资源所有者的授权。其中,认证服务器确定请求访问的资源对应的资源所有者是否对用户进行过授权的方法属于现有技术,本发明不再赘述。步骤206:根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;在认证器本地或者远端数据库中保存有群组获得访问权限的授权记录,所述授权记录可以是如下映射表的形式,也可以是其他任何形式,本发明对授权记录的具体形式不做限定。群组名称访问资源群组A资源1群组B资源2当认证服务器确定第一用户所属的群组后,查询授权记录,当授权记录中存在第一用户所属的群组与请求访问的资源之间的授权关系时,则确定第一用户请求访问的资源对应的资源所有者已经对第一用户所属的群组进行授权。步骤208:生成第一访问令牌,并将所述第一访问令牌发送给所述第一客户端。具体的,当确定第一用户所属的群组已经获得资源所有者的授权后,认证服务器可以直接生成访问令牌,并将生成的访问令牌返回给第一客户端,以便于第一用户通过第一客户端访问资源。可选的,认证服务器在接收第一用户通过第一客户端发送的授权请求之前,所述第一用户对应的群组中的其他群组成员,如第二用户,也请求访问该资源时,所述授权方法还包括:接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述请求访问的资源的标识;根据所述第二用户的用户ID,确定所述第二用户属于所述群组;根据所述保存的授权记录,确定所述群组未获得所述资源所有者的授权;向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;生成第二访问令牌,并将所述第二访问令牌发送给所述第二客户端。需要说明的是,第一客户端和第二客户端可以是同一个客户端也可以是不同的客户端,本发明对此不作限定。具体的,当确定所述群组未获得资源所有者的授权时,认证服务器向资源所有者发送认证请求,请求资源所有者对第一用户所属的群组进行授权。为了便于资源所有者确定授权对象的范围,认证请求中的群组信息除了包括群组名称,还可以进一步包括群组成员标识。当所述认证响应消息包含指示所述资源的拥有者不同意对所述群组进行授 权的指示信息时,所述授权设备拒绝接收到的授权请求,授权流程结束。当认证服务器接收到资源所有者返回的同意对所述群组进行授权的指示信息时,认证服务器保存所述群组获得资源访问权限的授权记录。具体实现中可以使用步骤206中映射表的形式。在本实施例提供的授权方法中,由于资源所有者已经对群组进行了授权,并且认证服务器保存了群组与该资源的授权记录,所以当该群组中的其他群组成员针对该资源请求授权时,认证服务器不需要继续向资源所有者申请许可,直接根据相应的授权记录生成访问令牌返回给客户端,从而有效的减轻了资源所有者的授权负担。图3是本发明一实施例所提供的一种处理授权的方法示范性信令图。在本实施例中,用户通过客户端访问在资源服务器上存储的资源。客户端可以通过账号密码、生物特征认证或其它身份认证方式中的至少一个,对用户的身份进行认证。客户端维护每个用户的身份认证信息,并且每个用户具有一个唯一的用户标识。当多个用户来访问资源服务器上的资源时,为了减轻资源所有者的授权负担,在本发明实施例中可以由系统管理员在群组服务器上为该多个用户建立群组。资源所有者只需要对群组进行一次授权,群组内的成员就可以都获得访问资源的权限。比如说,在同一个项目组中,某组员X将项目资料上传到服务器上,则该组员X就是资源所有者。系统管理员可以在群组服务器上为该项目组建立群组,群组成员包括该项目组的所有成员,假设该群组中具有A、B和C三个成员,需要说明的是,该群组的群组成员中可以包括资源所有者X,也可以不包括,本发明不做限定,则所述方法包括:步骤301:用户A通过客户端向认证服务器发送授权请求,所述授权请求包括用户A希望访问的资源的通用资源标识符URI和用户标识A;步骤302:认证服务器向群组服务器发送群组关系查询请求,所述群组关系查询请求中包括所述用户标识A;步骤303:群组服务器向认证服务器返回群组关系查询响应,所述群组关系查询响应中包括所述用户A所属的群组信息;具体的,群组服务器根据用户标识,确定所述用户所属的群组。一种可能的实现方式中,在群组服务器上保存有群组名称和群组成员列表的对应关系,群组服务器根据接收到用户标识,遍历所述对应关系,确定所述用户标识属于 的群组成员列表以及对应的群组名称。所述群组信息包括群组名称,可选的,所述群组信息进一步还包括该群组名称对应的群组成员列表。步骤304:认证服务器确定该用户A所属的群组没有授权记录;具体的,认证服务器可以查询本地保存的群组与请求访问的资源的授权关系映射表,所述授权关系映射表记录了获得授权的群组与请求访问的资源的对应关系。当认证服务器确定该用户所属的群组还没有授权记录时,表明该用户是群组中第一个申请访问该资源的用户,此时认证服务器在为该用户发放令牌之前,需要先获得资源所有者的授权许可。步骤305:认证服务器向资源所有者发送认证请求,所述认证请求包括所述群组信息;步骤306-步骤307:资源所有者根据群组信息,确定授权范围,并向认证服务器返回认证响应;具体的,资源所有者根据群组信息,确定同意授权,并向认证服务器返回认证响应,所述认证响应中包括所述资源所有者的身份认证信息和授权许可信息。可选的,所述群组信息中如果还包括群组成员列表,则资源所有者可以获知群组包括的成员,当确定群组包括的成员都可信的情况下,同意对所述群组授权。步骤308:认证服务器保存群组授权记录,并生成访问令牌;具体的,认证服务器根据资源所有者返回的认证响应中包含的身份认证信息确定所述资源所有者的身份合法,且根据所述授权许可信息,确定资源所有者同意对该群组进行授权,则保存群组授权记录,并生成访问令牌。步骤309:认证服务器向客户端返回访问令牌;步骤310-步骤311:客户端通过向资源服务器发送携带访问令牌的资源请求消息,获取资源信息。具体的,用户A通过客户端向资源服务器发送携带访问令牌的资源请求,资源服务器验证访问令牌合法后,即可向客户端返回用户请求的资源,并通过客户端向用户A展现请求的资源。进一步的,图4是本发明一实施例所提供的一种处理授权的方法示范性信令图。当图3所述实施例的群组中的用户B或C也来访问资源服务器上的资源时,认证服务器确定用户B或C所属的群组,且确定资源所有者已经对该群组进行了授权,所以认证服务器将直接生成访问令牌,并将生成的访问令牌发送 给客户端。具体的,步骤401-步骤403与步骤301-步骤303相同,相关内容请参阅图3所述实施例的相关描述,这里不再赘述。步骤404:确定该群组已有授权记录。具体的,认证服务器可以查询本地或者远端保存的群组获得访问权限的授权记录,所述授权记录可以是步骤206所述的映射表的形式。当认证服务器确定该用户所属的群组还没有授权记录时,表明该用户是群组中第一个申请访问该资源的用户,此时认证服务器在为该用户发放令牌之前,需要先获得资源所有者的授权许可。在图3所述的实施例中,由于群组中的用户A已经申请访问该资源,从而使得群组获得了资源拥有者的授权,并且认证服务器保存了群组的授权记录。步骤405:生成访问令牌;步骤406-步骤408与步骤309-步骤311相同,相关内容请参阅图3所述实施例的相关描述,这里不再赘述。本发明实施例中认证服务器在本地或者远端保存了群组获得访问权限的授权记录,当授权记录中存在群组G与资源S之间的授权关系时,表明资源所有者已经对该群组G进行授权,当该群组G中的成员来申请访问资源S的访问令牌时,认证服务器直接生成访问令牌,而不需要再次去申请资源所有者的授权。基于这种授权方法,资源所有者只需要进行一次授权,即可让多个用户来访问资源,从而极大的减轻了资源所有者的授权负担。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。如下再介绍本发明实施例提供的设备和系统。图5是本发明一实施例所提供的一种认证服务器的结构示意图。如图5所示,授权设备包括接收模块502、确定模块504和发送模块506。接收模块502,用于接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识。确定模块504,用于根据所述接收模块502接收到的第一用户的用户ID, 确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;其中,所述确定模块504用于根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息,具体为:向群组服务器发送包含所述第一用户的用户ID的群组查询消息;接收所述群组服务器返回的群组确认消息,所述群组确认消息包括所述第一用户所属的群组信息,其中,所述群组信息包括所述第一用户所属的群组的群组标识;或者,查询本地保存的群组数据库,所述群组数据库包括保存的群组标识和对应的群组成员信息;根据所述第一用户的用户ID,确定所述第一用户所属的群组的群组标识。在实现过程中,确定模块504具体用于实现图2所述实施例步骤204-步骤206所述的方法,相关内容可参照图2所述实施例相关描述,此处不再赘述。发送模块506,用于生成第一访问令牌,将所述第一访问令牌发送给所述第一客户端。在具体实现过程中,在接收模块502在接收第一用户通过第一客户端发送的授权请求之前,所述第一用户对应的群组中的其他群组成员,如第二用户,也请求访问该资源时,所述接收模块502还用于接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述请求访问的资源的标识;所述确定模块504,还用于根据所述接收模块502接收的第二用户的用户ID,确定所述第二用户属于所述群组;确定所述群组未获得所述资源所有者的授权;所述发送模块506还用于向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;所述接收模块502还用于接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;所述认证服务器还包括保存模块508,用于保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;所述发送模块,还用于生成第二访问令牌,并将所述第二访问令牌发送给所述第二客户端。需要说明的是,第一客户端和第二客户端可以是同一个客户端也可以是不同的客户端,本发明对此不 作限定。具体的,当确定所述群组未获得资源所有者的授权时,认证服务器向资源所有者发送认证请求,请求资源所有者对第一用户所属的群组进行授权。为了便于资源所有者确定授权对象的范围,认证请求中的群组信息除了包括群组名称,还可以进一步包括群组成员标识。当所述接收模块502接收到的认证响应消息包含指示所述资源的拥有者不同意对所述群组进行授权的指示信息时,所述授权设备拒绝接收到的授权请求,授权流程结束。当所述接收模块502接收到资源所有者返回的同意对所述群组进行授权的指示信息时,保存模块508保存所述群组获得资源访问权限的授权记录。具体实现中可以使用步骤206中映射表的形式。在本实施例提供的授权方法中,由于资源所有者已经对群组进行了授权,并且认证服务器保存了群组与该资源的授权记录,所以当该群组中的其他群组成员针对该资源请求授权时,认证服务器不需要继续向资源所有者申请许可,直接根据相应的授权记录生成访问令牌返回给客户端,从而有效的减轻了资源所有者的授权负担。图6所示的是本发明一实施例提供的一种认证服务器的另一种结构示意图,采用通用计算机系统结构,执行本发明方案的程序代码保存在存储器中,并由处理器来控制执行。处理授权的设备包括总线,处理器(602),存储器(604),通信接口(606)。总线可包括一通路,在计算机各个部件之间传送信息。处理器602可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路application-specificintegratedcircuit(ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。计算机系统中包括的一个或多个存储器,可以是只读存储器read-onlymemory(ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器randomaccessmemory(RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。这些存储器通过总线与处理器相连接。通信接口606,可以使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等.存储器604,如RAM,保存有操作系统和执行本发明方案的程序。操作系统是用于控制其他程序运行,管理系统资源的程序。执行本发明方案的程序代 码保存在存储器中,并由处理器来控制执行。存储器604中存储的程序用于指令处理器执行一种授权的方法,包括:接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;生成第一访问令牌,并将所述第一访问令牌发送给所述第一客户端。可以理解的是,本实施例的一种处理授权的设备可用于实现图2所述方法实施例中的所有功能,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图7是本发明一实施例所提供的一种处理授权的系统结构示意图。如图6所示,该系统包括第一客户端702和认证服务器704。第一客户端702,用于向认证服务器发送授权请求,所述授权请求包括第一用户的用户标识ID和请求访问的资源的标识;认证服务器704,用于接收第一用户通过第一客户端发送的授权请求,所述授权请求包括所述第一用户的用户标识ID和请求访问的资源的标识;根据所述第一用户的用户ID,确定所述第一用户所属群组的群组信息;根据保存的授权记录,确定所述群组已经获得所述资源的标识对应的资源所有者的授权;生成第一访问令牌,并将所述第一访问令牌发送给所述第一客户端。可选的,所述系统还包括:第二客户端706,用于向认证服务器发送授权请求,所述授权请求包括第二用户的用户标识ID和所述资源的标识;所述认证服务器704,还用于接收第二用户通过第二客户端发送的授权请求,所述授权请求包括所述第二用户的用户ID和所述资源的标识;根据所述第二用户的用户ID,确定所述第二用户属于所述群组;确定所述群组未获得所述资源所有者的授权;向所述资源所有者发送认证请求,所述认证请求包括所述群组信息;接收所述资源所有者返回的认证响应,所述认证响应包括所述资源所有者同意对所述群组授权的指示信息;保存所述群组获得所述资源的标识对应的资源的访问权限的授权记录;生成第二访问令牌,并将所述第二访问令牌发送给所述第二客户端。需要说明的是,第一客户端702和第二客户端706可以是同一个客户端也可以是不同的客户端,本发明对此不作限定。有关认证服务器704的更为详细的描述,请参考在图5中展示的认证服务器的描述,相关内容在此不再赘述。上述设备和系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-OnlyMemory)或随机存储记忆体(RAM:RandomAccessMemory)等。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1