一种基于OAuth2协议的统一认证授权方法技术

技术编号:32129620 阅读:8 留言:0更新日期:2022-01-29 19:26
本发明专利技术涉及计算机技术领域,具体涉及一种基于OAuth2协议的统一认证授权方法,包括:基于Spring安全开源框架集成OAuth2.0协议,生成授权服务器;在授权服务器中创建扩展授权模型,并创建对应的资源访问权限标记;然后创建各个扩展授权模型对应的扩展访问过滤器;在授权服务器中创建基于角色访问控制的模型;用户访问系统资源时,授权服务器通过扩展访问过滤器过滤得到对应的扩展授权模型,并根据对应的扩展授权模型进行授权认证;若未过滤得到相应的扩展授权模型,则通过基于角色访问控制的模型进行授权认证;授权认证通过后,授权服务器允许用户访问对应的系统资源。本发明专利技术中的认证授权方法能够为系统内部用户、外部用户和第三方应用提供统一的认证授权。方应用提供统一的认证授权。方应用提供统一的认证授权。

【技术实现步骤摘要】
一种基于OAuth2协议的统一认证授权方法


[0001]本专利技术涉及计算机
,具体涉及一种基于OAuth2协议的统一认证授权方法。

技术介绍

[0002]目前,大多数互联网开放平台采用OAuth协议对第三方应用实现鉴权和认证。OAuth是一种开放的协议,为桌面应用或者基于B/S模式的WWW应用提供了一种简单、标准的方式访问需要用户授权的API服务,任何第三方应用在访问用户资源时都需要经过用户认证同意后方可访问,这样保证了用户数据的隐私保密。由于其安全、开发简单易行,很多互联网厂商如Google、雅虎、新浪、腾讯在建设开放平台时都提供了OAuth认证服务。
[0003]针对第三方应用认证和鉴权准确性不高的问题,公开号为CN102394887B的中国专利中公开了《一种基于OAuth协议的开放平台安全认证方法和系统》,所述方法包括:开放平台检查第三方应用装置的申请未授权的Request Token的访问请求,是否携带有和平台一致的应用实例标识,如果没有,则分配新的应用实例标识,并将应用实例标识、未经用户授权的Request Token与对应的token密钥返回给第三方应用装置;第三方应用装置将应用实例标识更新到本地,并继续携带应用实例标识进行后续的OAuth认证请求,开放平台通过应用实例标识,引导用户授权,然后向第三方应用装置下发Access Token与对应的密钥。
[0004]上述现有方案中的安全认证方法能够对多个第三方应用运行实例的业务场景进行精确认证和鉴权。但是,现有的安全认证方法主要针对第三方应用的运行实例,而并不完全适用于系统内部用户或系统外部用户,当应用于系统用户时,其认证的准确性会大幅降低,导致访问系统资源的安全性较低。同时,现有应用于系统用户的认证方法又难以很好的应用于第三方应用。因此,如何设计一种能够为系统内部用户、外部用户和第三方应用提供统一认证授权的统一认证授权方法是亟需解决的技术问题。

技术实现思路

[0005]针对上述现有技术的不足,本专利技术所要解决的技术问题是:如何提供一种能够为系统内部用户、外部用户和第三方应用提供统一认证授权的统一认证授权方法,从而保证访问系统资源的安全性。
[0006]为了解决上述技术问题,本专利技术采用了如下的技术方案:一种基于OAuth2协议的统一认证授权方法,包括以下步骤:S1:基于Spring安全开源框架集成OAuth2.0协议,生成授权服务器;S2:在授权服务器中创建扩展授权模型,并创建各个扩展授权模型对应的资源访问权限标记;然后定义各个扩展授权模型的权限认证服务,并将权限认证服务配置在OAuth2.0协议的授权配置中;最后创建各个扩展授权模型对应的扩展访问过滤器;S3:在授权服务器中创建基于角色访问控制的模型;S4:用户访问系统资源时,授权服务器通过扩展访问过滤器过滤得到对应的扩展
授权模型,并根据对应的扩展授权模型进行授权认证;若未过滤得到相应的扩展授权模型,则通过基于角色访问控制的模型进行授权认证;S5:授权认证通过后,授权服务器允许用户访问对应的系统资源。
[0007]优选的,步骤S1中,生成的授权服务器支持授权码模式、密码模式和客户端模式。
[0008]优选的,步骤S2中,扩展授权模型包括开放权限模型、登录即访问模型和客户端授权访问模型,对应的资源访问权限标记包括开放权限标记、登录即访问标记和客户端授权访问标记。
[0009]优选的,在定义向外提供系统资源访问的能力时,通过添加资源访问权限标记的方式定义系统资源的访问权限。
[0010]优选的,对于开放权限模型:默认通过授权认证;对于登录即访问模型:存在对应的用户登录信息,即通过授权认证;对于客户端授权访问模型:1)客户端信息是由资源拥有者分配,且当前访问的系统资源未限定访问范围,则通过授权认证;2)客户端信息合法,且客户端信息中的访问范围和当前访问的系统资源限定的一致,则通过授权认证。
[0011]优选的,步骤S3中,创建基于角色访问控制的模型时,首先创建角色,并给角色授予系统资源的访问权限;然后给用户分配对应的角色,以使得用户拥有这些角色的访问权限。
[0012]优选的,步骤S3中,授予角色的系统资源访问权限是指对应的访问地址。
[0013]优选的,步骤S3中,在授权服务器中,还能够单独给用户授予访问权限;在单独给用户授予访问权限时,指定对应系统资源对于该用户是禁用的,以将对应系统资源的访问权限从该用户拥有的角色中排除,使得对应系统资源针对该用户不可访问。
[0014]优选的,对于基于角色访问控制的模型:首先满足当前访问为非匿名访问;然后获取用户的授权用户信息,检查用户是否为特殊角色:若为特殊角色,则通过授权认证,否则,执行后续步骤;获取用户通过角色所授权的访问资源列表;最后检索当前访问的系统资源是否在授权的访问资源列表中,若存在,则通过授权认证;否则,授权认证失败。
[0015]优选的,步骤S4中,进行授权认证之前,授权服务器首先从用户的请求参数或请求授权头中获取用户的令牌信息;然后对令牌信息的进行合法性认证;合法性认证通过后,再对令牌信息的进行有效期认证;有效期认证通过后,将令牌信息转换为授权信息持有到用户的当前访问中,供后续授权认证使用。
[0016]本专利技术中的统一认证授权方法与现有技术相比,具有如下有益效果:在本专利技术中,基于Spring安全开源框架集成OAuth2.0协议的方式生成授权服务器,使得第三方应用能以标准的协议进行授权访问,进而提高系统服务能力;并且,通过扩展授权模型和基于角色访问控制模型的方式,使得授权服务器能够供系统内部用户、外部用户以及第三方应用进行统一的认证授权,进而使得系统授权更为标准化,并使得第三方应用对资源的访问更加安全,从而能够保证访问系统资源的安全性。同时,本专利技术创建了扩展授权模型和基于角色访问控制的模型,定义了资源访问权限标记和角色访问控制,将授权服务器设计为公共服务,使得授权服务器能够很好的应用到各种业务系统中,并且业务系统不需要关心权限控制的具体实现,而更好的专注于业务开发,使得业务运行在权限底层之上,从而达到了真正解耦的目的。
附图说明
[0017]为了使专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步的详细描述,其中:图1为实施例中统一认证授权方法的逻辑框图。
具体实施方式
[0018]下面通过具体实施方式进一步详细的说明:实施例:本实施例中公开了一种基于OAuth2协议的统一认证授权方法。
[0019]如图1所示,基于OAuth2协议的统一认证授权方法,包括以下步骤:S1:基于Spring安全开源框架集成OAuth2.0协议,生成授权服务器;具体的,生成的授权服务器支持现有的授权码模式、密码模式和客户端模式。
[0020]S2:在授权服务器中创建扩展授权模型,并创建各个扩展授权模型对应的资源访问权限标记;然后定义各个扩展授权模型的权限认证服务,并将权限认证服务配置在OAuth2.0协议的授权配置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OAuth2协议的统一认证授权方法,其特征在于,包括以下步骤:S1:基于Spring安全开源框架集成OAuth2.0协议,生成授权服务器;S2:在授权服务器中创建扩展授权模型,并创建各个扩展授权模型对应的资源访问权限标记;然后定义各个扩展授权模型的权限认证服务,并将权限认证服务配置在OAuth2.0协议的授权配置中;最后创建各个扩展授权模型对应的扩展访问过滤器;S3:在授权服务器中创建基于角色访问控制的模型;S4:用户访问系统资源时,授权服务器通过扩展访问过滤器过滤得到对应的扩展授权模型,并根据对应的扩展授权模型进行授权认证;若未过滤得到相应的扩展授权模型,则通过基于角色访问控制的模型进行授权认证;S5:授权认证通过后,授权服务器允许用户访问对应的系统资源。2.如权利要求1所述的基于OAuth2协议的统一认证授权方法,其特征在于:步骤S1中,生成的授权服务器支持授权码模式、密码模式和客户端模式。3.如权利要求1所述的基于OAuth2协议的统一认证授权方法,其特征在于:步骤S2中,扩展授权模型包括开放权限模型、登录即访问模型和客户端授权访问模型,对应的资源访问权限标记包括开放权限标记、登录即访问标记和客户端授权访问标记。4.如权利要求3所述的基于OAuth2协议的统一认证授权方法,其特征在于:在定义向外提供系统资源访问的能力时,通过添加资源访问权限标记的方式定义系统资源的访问权限。5.如权利要求3所述的基于OAuth2协议的统一认证授权方法,其特征在于:对于开放权限模型:默认通过授权认证;对于登录即访问模型:存在对应的用户登录信息,即通过授权认证;对于客户端授权访问模型:1)客户端信息是由资源拥有者分配,且当前访问的系统资源未限定访问范围,则...

【专利技术属性】
技术研发人员:王巧陈虎周光勇邹平李宏
申请(专利权)人:重庆忽米网络科技有限公司
类型:发明
国别省市:

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

1