限制基于令牌的授权系统中的范围技术方案

技术编号:38887775 阅读:27 留言:0更新日期:2023-09-22 14:14
本公开提供了访问令牌范围限制。将包含范围列表的客户端访问令牌呈现给计算机的授权应用程序编程接口。范围列表中的每个范围定义了访问由资源服务器托管的特定受保护资源的许可。响应于授权应用编程接口请求减少范围列表中的范围数量,使用范围别名将包含减少数量的范围的新访问令牌返回给客户端。该范围别名表示来自包含在所呈现的访问令牌中的范围列表的多个特定范围。表的多个特定范围。表的多个特定范围。

【技术实现步骤摘要】
【国外来华专利技术】限制基于令牌的授权系统中的范围

技术介绍

[0001]1.领域:
[0002]本公开一般涉及访问管理,并且更具体地涉及限制基于访问令牌的授权系统中的范围的数量,同时维持对访问令牌的相同级别的访问许可。
[0003]2.相关技术的描述:
[0004]身份和访问管理(IAM)是便于数字身份管理的过程、策略和技术的框架。IAM框架可以控制用户对与实体(诸如,例如,企业、商业、公司、组织、机构、代理等)相对应的受保护资源(例如,数据、文档、文件、软件、硬件、服务等)的访问。IAM系统可部署在场所中,由第三方供应商通过基于云的订阅模型来提供,或部署在混合模型中。用于IAM的典型系统包括单点登录系统、双因素认证、多因素认证、特权访问管理和基于令牌的授权。
[0005]基于令牌的认证(例如,OAuth 2.0)是允许终端用户和服务验证其身份并反过来接收唯一访问令牌的协议。在访问令牌的生命期(即,定义的时间段)期间,终端用户和服务可以访问受保护的资源,诸如云服务,其中已经为该受保护的资源发布了访问令牌。首先,终端用户或服务请求访问受保护资源。这可能涉及使用诸如用户名和密码之类的凭证进行登录。授权服务器通过例如将所接收的凭证与对应于终端用户或服务的所存储的凭证进行比较来确定终端用户或服务是否应该具有访问权。在凭证认证或验证之后,授权服务器向终端用户或服务发出访问令牌和刷新令牌。授权服务器使用私有秘密或公共/私有密钥对访问令牌进行签名。
[0006]在终端用户或服务的特定客户端web应用可以使用应用编程接口来访问特定受保护资源之前,客户端web应用必须获得准许对该特定应用编程接口访问的访问令牌。访问令牌包含网络会话的终端用户或服务标识符,并使用范围来标识受保护资源访问特权。范围是客户端web应用被给予访问许可的资源访问许可的空间分离的列表。换句话说,范围确定访问令牌允许和不允许的访问的类型。例如,如果客户端web应用试图利用不具有正确范围(即,正确许可)的访问令牌来做出对受保护资源的应用编程接口请求,则应用编程接口将拒绝受保护资源访问请求。在客户端web应用获得访问令牌之后,客户端web应用将访问令牌发送到与受保护资源相对应的应用编程接口。访问令牌仅对在访问令牌的范围字段中描述的操作集合和受保护资源有效。例如,如果访问令牌是针对日历应用编程接口发出的,则访问令牌仅允许访问日历应用编程接口,而不允许访问,例如,联系人应用编程接口或任何其他类型的应用编程接口。
[0007]对可以添加到授权服务器的应用编程接口定义的范围的数量没有限制。例如,实体可以具有用于访问其受保护资源的数百或数千范围。然而,当在授权报头(例如HTTP协议)中使用时,可以包括在访问令牌中的范围的数量可以由访问令牌的大小来限制。此外,大多数授权服务器强制执行访问令牌大小限制(例如,8

20KB)。结果,具有大范围字段的访问令牌可能被认证服务器拒绝。此外,大的访问令牌会增加网络等待时间并降低系统性能。

技术实现思路

[0008]根据一个说明性实施例,提供了一种用于访问令牌范围限制的计算机实现的方法。计算机向计算机的授权应用编程接口呈现包含范围列表的客户端的访问令牌。范围列表中的每个范围定义了对访问由资源服务器托管的特定受保护资源的许可。响应于授权应用编程接口请求减少范围列表中的范围数量,计算机使用范围别名向客户端返回包含减少数量的范围的新访问令牌。该范围别名表示来自包含在所呈现的访问令牌中的范围列表的多个特定范围。根据其它说明性实施例,提供了用于访问令牌范围限制的计算机系统和计算机程序产品。
[0009]此外,示例性实施例还经由网络从客户端接收具有授权代码和客户端标识符的访问令牌请求,基于对访问令牌请求的分析来确定在访问令牌请求中是否指定了范围,响应于基于所述分析确定在所述访问令牌请求中指定了范围,识别在所述访问令牌请求中指定的范围集合以形成指定的范围集合,扩展包括在指定范围的集合中的每个范围别名以形成指定范围的扩展集合,扩展包括在与从存储装置检索的客户端标识符对应的授权范围中的所有范围别名以形成授权范围的扩展集合,产生所述指定范围的扩展集合与所述授权范围的扩展集合之间的交集,基于所述指定范围的扩展集合和所述授权范围的扩展集合之间的交集识别对应于客户端请求的访问令牌的多个有效范围,使用多个预定义范围别名来减少与所述访问令牌请求相对应的有效范围的数量,其中所述多个预定义范围别名中的每一个表示两个或更多个客户端指定的个体范围的集合,以及使用所述多个预定义的范围别名和与所述访问令牌请求相对应的未被包括在所述多个预定义的范围别名中的至少一个中的任何剩余的有效范围来生成用于所述客户端的所述访问令牌。
[0010]此外,说明性实施例经由网络从客户端接收包含与客户端的现有访问令牌相对应的范围列表的刷新令牌以及对指定范围的有限集合的新访问令牌的请求,其中范围的有限集合是特定于客户端希望访问的受保护资源的特定集合,扩展包括在刷新令牌的范围列表中的每个范围别名以形成刷新令牌范围的有限集合,扩展包括在对新访问令牌的请求中指定的范围的有限集合中的每个范围别名以形成指定范围的扩展集合,生成刷新令牌范围的扩展集合和指定范围的扩展集合之间的交集,基于刷新令牌范围的扩展集合和指定范围的扩展集合之间的交集来识别与对新访问令牌的请求相对应的多个有效范围,使用一个或多个预定义范围别名来减少与对所述新访问令牌的请求相对应的有效范围的数量,其中所述一个或多个预定义范围别名中的每一个表示两个或更多个客户端指定的个体范围的集合,以及使用所述一个或多个预定义范围别名和未被包括在所述一个或多个预定义范围别名中的、与对所述新访问令牌的所述请求相对应的任何剩余的有效范围来生成用于所述客户端的所述新访问令牌。
[0011]结果,说明性实施例通过使用范围别名来减小访问令牌中的范围字段的大小以表示多个范围,同时维持与范围别名表示的多个个体范围相同级别的用于访问令牌的受保护资源访问许可,来提供受保护资源访问管理领域中的技术效果和实际应用。由说明性实施例生成的访问令牌的大小减小增加了网络响应时间,这使得能够更快地访问受保护资源并提高系统性能。
附图说明
[0012]图1是其中可以实现说明性实施例的数据处理系统的网络的图形表示;
[0013]图2是其中可以实现说明性实施例的数据处理系统的图;
[0014]图3是示出了可以实现示例性实施例的云计算环境的图;
[0015]图4是示出根据说明性实施例的云计算环境的抽象层的示例的图;
[0016]图5是示出根据示例性实施例的范围别名的示例的图;
[0017]图6是示出根据说明性实施例的具有对应范围的客户端标识符的示例的图;
[0018]图7是示出根据示例性实施例的用于获得访问令牌的示例过程的图;
[0019]图8是示出根据示例性实施例的用于限制现有访问令牌的范围的示例过程的图;
[0020]图9是示出根据示例性实施例的用于访问受保护资源的示例过程的图;
[0021本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于访问令牌范围限制的计算机实现的方法,所述计算机实现的方法包括:由计算机向所述计算机的授权应用编程接口呈现客户端的访问令牌,所述访问令牌包含范围列表,所述范围列表中的每个范围定义对访问由资源服务器托管的特定受保护资源的许可;以及响应于所述授权应用编程接口请求所述范围列表中的范围数量的减少,由所述计算机使用范围别名向所述客户端返回包含数量减少的范围的新访问令牌,所述范围别名表示来自包含在所呈现的访问令牌中的范围列表的多个特定范围。2.根据权利要求1所述的计算机实现的方法,还包括:由所述计算机经由网络从所述客户端接收具有授权代码和客户端标识符的访问令牌请求;由所述计算机基于对所述访问令牌请求的分析来确定在所述访问令牌请求中是否指定了范围;以及响应于计算机基于分析确定在访问令牌请求中指定了范围,由计算机识别在访问令牌请求中指定的范围集合以形成指定范围集合。3.根据权利要求2所述的计算机实现的方法,还包括:由所述计算机扩展包括在指定范围集合中的每个范围别名以形成指定范围的扩展集合;以及由所述计算机扩展包括在与从存储装置检索的所述客户端标识符相对应的授权范围中的所有范围别名以形成授权范围的扩展集合。4.根据权利要求3所述的计算机实现的方法,还包括:由所述计算机生成所述指定范围的扩展集合与所述授权范围的扩展集合之间的交集;以及由所述计算机基于指定范围的扩展集合和授权范围的扩展集合之间的交集,识别与客户端的访问令牌请求相对应的多个有效范围。5.根据权利要求4所述的计算机实现的方法,还包括:由所述计算机使用多个预定义范围别名来减少与所述访问令牌请求相对应的有效范围的数量,所述多个预定义范围别名中的每一个表示两个或更多个客户端指定的个体范围的集合;由所述计算机使用所述多个预定义范围别名和与所述访问令牌请求相对应的未被包括在所述多个预定义范围别名的至少一个中的任何剩余有效范围来生成用于所述客户端的所述访问令牌;以及由所述计算机经由所述网络向所述客户端发送所述访问令牌。6.根据权利要求1至5中的一项所述的计算机实现的方法,还包括:由所述计算机经由所述网络从资源服务器接收对由所述资源服务器托管的受保护资源以及包括一个或多个范围的所述客户端的所述访问令牌的访问进行批准的请求;由所述计算机扩展包括在所述访问令牌的所述一个或多个范围中的每个范围别名以形成访问令牌范围的扩展集合;以及由所述计算机确定所述访问令牌范围的扩展集合是否包含授权对所述受保护资源的访问的范围。
7.根据权利要求6所述的计算机实现的方法,还包括:响应于计算机确定访问令牌范围的扩展集合不包含授权访问受保护资源的范围,由所述计算机向资源服务器发送拒绝客户端访问受保护资源的指示。8.根据权利要求6或7所述的计算机实现的方法,还包括:响应于所述计算机确定所述访问令牌范围的扩展集合确实包含授权对所述受保护资源的访问的范围,由所述计算机检索与由所述资源服务器托管的所述受保护资源相对应的授权策略集合;以及由所述计算机确定所述授权策略集合是否准许所述客户端访问所述受保护资源。9.根据权利要求8所述的计算机实现的方法,还包括:响应于所述计算机确定所述授权策略集合未授权所述客户端对所述受保护资源的访问,由所述计算机向所述资源服务器发送拒绝指示,所述拒绝指示表明所述客户端对所述受保护资源的访问被拒绝;以及响应于计算机确定授权策略集合确实批准客户端访问受保护资源,由计算机向资源服务器发送批准指示,该批准指示表明客户端对受保护资源的访问被批准。10.根据权利要求1至9中的一项所述的计算机实现的方法,还包括:由计算机经由网络从客户端接收刷新令牌以及对新访问令牌的请求,该刷新令牌包含与客户端的现有访问令牌相对应的范围列表,该新访问令牌指定范围的有限集合,该范围的有限集合特定于客户端想要访问的受保护资源的特定集合;由所述计算机扩展包括在所述刷新令牌的范围列表中的每个范围别名以形成刷新令牌范围的有限集合;以及由所述计算机扩展包括在对所述新访问令牌的请求中指定的范围的所述有限集合中的每个范围别名以形成指定范围的扩展集合。11.根据权利要求10所述的计算机实现的方法,还包括:由所述计算机生成所述刷新令牌范围的扩展集合和所述指定范围的扩展集合之间的交集;以及由所述计算机基于刷新令牌范围的扩展集合和指定范围的扩展集合之间的交集来识别与对新访问令牌的请求相对应的多个有效范围。12.根据权利要求11所述的计算机实现的方法,还包括:由所述计算机使用一个或多个预定义范围别名来减少与对所述新访问令牌的请求相对应的有效范围的数量,所述一个或多个预定义范围别名中的每一个表示两个或更多个客户端指定的个体范围的集合;由所述计算机使用所述一个或多个预定义范围别名和与对所述新访问令牌的所述请求相对应的未被包括在所述一个或多个预定义范围别名中的任何剩余的有效范围来生成用于所述客户端的所述新访问令牌;以及由所述计算机经由所述网络向所述客户端发送所述新访问令牌。13.一种用于访问令牌范围限制的计算机系统,所述计算机系统包括:总线系统;连接到总线系统的存储设备,其中存储设备存储程序指令;以及处理器,其连接到所述总线系统,其中所述处理器执行所述程序指令以:
向授权应用编程接口呈现客户端的访问令牌,所述访问令牌包含范围列表,所述范围列表中的每个范围定义对访问由资源服务器托管的特定受保护资源的...

【专利技术属性】
技术研发人员:M
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1