基于Java的API网关登录鉴权的测试方法技术

技术编号:31912698 阅读:17 留言:0更新日期:2022-01-15 12:53
本申请涉及一种基于Java的API网关登录鉴权的测试方法,包括:编写Dubbo服务,并部署网关服务;其中,Dubbo服务包括移动端SSO服务、Web端SSO服务、JWT服务和加密Key服务;注册Dubbo服务至预设协调服务中,并将Dubbo服务发布至网关,生成对应4个Dubbo服务的4个API;然后在网关中对4个API配置权限;创建与4个API分别对应的4个自动化测试用例;运行自动化测试用例,通过网关自动进行鉴权,并基于鉴权结果返回对应数据或信息。如此,通过将所有验证写成一种可执行的测试项目,只有当业务变更时去维护这套代码,以后每次验证只需要运行测试代码就可以完成测试,大大提高效率。大大提高效率。大大提高效率。

【技术实现步骤摘要】
基于Java的API网关登录鉴权的测试方法


[0001]本申请涉及互联网微服务
,尤其涉及一种基于Java的API网关登录鉴权的测试方法。

技术介绍

[0002]目前越来越多的项目采用微服务架构设计模式,将软件根据业务拆分成多个独立运行的服务,在实际工作中可能会有上千或更多的应用需要一个统一的入口,通过网关访问各自业务的API并返回数据。在对网关进行测试的时候,因为业务方的不同,身份鉴权有会有所不同,如可能是移动端、web端以及通过JWT验证或基于预设设置的key方式进行验证的业务类型。
[0003]现有技术中,在验证鉴权的时候需要不同的场景而且每一种鉴权需要提前配置一些基础数据,此时需要各个业务放的配合,才能完成对网关的测试,而且需要针对各种鉴权方式,记忆逻辑或通过查看文档对每个鉴权逐个进行验证,同时还需要提前准备各种鉴权对应的API接口及API接口的服务,整个测试过程,繁琐耗时,效率低下。

技术实现思路

[0004]本申请提供一种基于Java的API网关登录鉴权的测试方法,用于解决现有技术中,测试过程,繁琐耗时,效率低下的问题。
[0005]本申请的上述目的是通过以下技术方案实现的:
[0006]本申请实施例提供一种基于Java的API网关登录鉴权的测试方法,包括:
[0007]编写Dubbo服务,并部署网关服务;其中,所述Dubbo服务包括移动端SSO服务、Web端SSO服务、JWT服务和加密Key服务;
[0008]注册所述Dubbo服务至预设协调服务中,并将所述Dubbo服务发布至网关,生成对应4个所述Dubbo服务的4个API;所述4个API分别为移动端SSO API、Web端SSO API、JWT服务API和加密Key API;
[0009]在网关中对所述4个API配置权限;
[0010]创建与所述4个API分别对应的4个自动化测试用例;
[0011]运行所述自动化测试用例,通过网关自动进行鉴权,并基于鉴权结果返回对应数据或信息。
[0012]进一步的,所述在网关中对所述4个API配置权限,包括:
[0013]在网关中对所述移动端SSO API配置移动端SSO权限,对所述Web端SSO API配置Web端SSO权限,对所述JWT服务API配置JWT访问权限和对所述加密Key API配置对应Key权限。
[0014]进一步的,所述自动化测试用例包括:
[0015]包括移动端SSO API权限测试用例、Web端SSO API权限测试用例、JWT服务API权限测试用例和加密Key API权限测试用例。
[0016]进一步的,所述运行所述自动化测试用例,通过网关自动进行鉴权,并基于鉴权结果返回对应数据或信息,包括:
[0017]运行所述自动化测试用例,调用网关地址;
[0018]通过网关根据每种API配置的权限进行鉴权,若鉴权成功,则根据配置的协调服务地址找到所述Dubbo服务,并返回接口返回的数据;若鉴权失败,则返回失败信息。
[0019]进一步的,还包括:
[0020]为每种所述自动化测试用例编写对应测试断言,并基于所述测试断言判断对应所述自动化测试用例是否成功返回结果。
[0021]本申请的实施例提供的技术方案可以包括以下有益效果:
[0022]本申请涉及一种基于Java的API网关登录鉴权的测试方法,包括:编写Dubbo服务,并部署网关服务;其中,Dubbo服务包括移动端SSO服务、Web端SSO服务、JWT服务和加密Key服务;注册Dubbo服务至预设协调服务中,并将Dubbo服务发布至网关,生成对应4个Dubbo服务的4个API;然后在网关中对所述4个API配置权限;创建与所述4个API分别对应的4个自动化测试用例;运行所述自动化测试用例,通过网关自动进行鉴权,并基于鉴权结果返回对应数据或信息。如此,通过将所有验证写成一种可执行的测试项目,只有当业务变更时去维护这套代码,以后每次验证只需要运行测试代码就可以完成测试,大大提高效率。
[0023]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0024]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0025]图1为本申请实施例提供的一种基于Java的API网关登录鉴权的测试方法的流程示意图;
[0026]图2为本申请另一实施例提供的一种基于Java的API网关登录鉴权的测试方法的流程示意图。
[0027]图3为本申请实施例提供的一种基于Java的API网关登录鉴权的测试方法的部分示意图。
具体实施方式
[0028]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0029]目前越来越多的项目采用微服务架构设计模式,将软件根据业务拆分成多个独立运行的服务,在实际工作中可能会有上千或更多的应用需要一个统一的入口,通过网关访问各自业务的API并返回数据,同时网关是一个服务器,承载着多种应用的身份鉴权,因此网关登录鉴权的重要性不得而知。与此同时,实际业务应用对接网关时会有移动端SSO鉴权、PC端SSO鉴权、JWT验证、其它Key验证方式等,因此,需要在每次发版及日常回归确保登
录鉴权能正常工作,每次发版回归测试时,都需要请业务方配合验证或我们自己去根据不同搭建自己的API服务辅助测试,多种场景手工测试花费时间比较长还有可能有遗漏,不利于快速迭代及保障产品质量。另外,我们需要记住这些不同类型鉴权方式的验证逻辑或去看文档。
[0030]具体的,我们在测试网关的时候,因为业务方的不同,身份鉴权有会有所不同。比如,我们的业务方如果移动端的,那它的身份验证会先走移动端的SSO进行鉴权,如果通过则返回正常API数据给用户,如果鉴权失败,则返回无权访问给业务方;如果我们的业务方使用的是Web端的SSO登录验证,则会先去Web端SSO进行身份鉴权,如果通过则返回正常API数据给用户,如果鉴权失败,则返回无权访问给业务方;如果我们的业务方使用的是JWT的验证方式,则需要用户提供Token来进行身份鉴权,如果通过则返回正常API数据给用户,如果鉴权失败,则返回无权访问给业务方;另外,往往有一些旧的应用或其它情况,可能会使用一些自定义的鉴权方式,如果业务方向网关提供一个事先商量好的key经过一系列的加密,在调用API的时候传入这个key到网关后台,网关后台代码将这个key解密,如果解密后鉴权通过则返回正常API数据给用户,如果鉴权失败,则返回无权访问给业务方;此时,我们已经看到,我们在验证鉴权的时候本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Java的API网关登录鉴权的测试方法,其特征在于,包括:编写Dubbo服务,并部署网关服务;其中,所述Dubbo服务包括移动端SSO服务、Web端SSO服务、JWT服务和加密Key服务;注册所述Dubbo服务至预设协调服务中,并将所述Dubbo服务发布至网关,生成对应4个所述Dubbo服务的4个API;所述4个API分别为移动端SSO API、Web端SSO API、JWT服务API和加密Key API;在网关中对所述4个API配置权限;创建与所述4个API分别对应的4个自动化测试用例;运行所述自动化测试用例,通过网关自动进行鉴权,并基于鉴权结果返回对应数据或信息。2.根据权利要求1所述的基于Java的API网关登录鉴权的测试方法,其特征在于,所述在网关中对所述4个API配置权限,包括:在网关中对所述移动端SSO API配置移动端SSO权限,对所述Web端SSO API配置Web端SSO权限,对所述JWT服务API配置JWT访问...

【专利技术属性】
技术研发人员:雷敏
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利