一种hydra服务调用方法、系统、终端及存储介质与流程

文档序号:37469581发布日期:2024-03-28 18:52阅读:8来源:国知局
一种hydra服务调用方法、系统、终端及存储介质与流程

本发明涉及hydra服务领域,具体涉及一种hydra服务调用方法、系统、终端及存储介质。


背景技术:

1、ory hydra是经过强化,经过openid认证的oauth 2.0服务器和openid connect提供商,针对低延迟,高吞吐量和低资源消耗进行了优化。ory hydra 不是身份提供者(用户注册,用户登录,密码重置流程),而是通过登录和同意应用程序连接到现有的身份提供者。

2、目前,hydra主要用来处理系统之间的单点登录与授权问题。然而,hydra所提供的原生接口往往无法适配应用程序的要求,应用程序在调用hydra时还需编写大量的逻辑代码和配置大量的参数并注入许多hydra需要的类,而当前针对hydra的接口再封装的方案较为稀缺,能够帮助应用开发者快速开发的基于hydra的框架少之又少,导致应用程序对hydra的调用繁琐复杂,影响工作效率。


技术实现思路

1、为解决上述问题,本发明提供一种hydra服务调用方法、系统、终端及存储介质,通过构建包含hydra配置类和接口封装包,在hydra服务和应用程序之间建立桥梁,使应用程序调用封装包即可使用hydra服务,提高调用hydra服务的便利性,提高工作效率。

2、第一方面,本发明的技术方案提供一种hydra服务调用方法,包括以下步骤:

3、将hydra服务的配置类和服务接口进行封装,构建封装包,封装包将配置文件和封装后的服务接口暴露给应用程序;

4、应用程序调用封装包,使用封装包提供的配置文件进行参数配置;

5、封装包读取所配置参数映射到hydra的原生服务中;

6、应用程序基于业务需求调用相关封装后的服务接口触发hydra服务进行业务处理。

7、在一个可选的实施方式中,将hydra服务的配置类进行封装,具体包括:

8、将hydra服务原本需要的配置类集成到代码中;

9、将配置类中的定制化参数以配置文件的形式暴露给应用程序。

10、在一个可选的实施方式中,封装的服务接口包括核心业务包、实体类和令牌句柄。

11、在一个可选的实施方式中,核心业务包包括第一业务包和第二业务包,第一业务包提供重定向实现、退出重定向、登出、callback获取token的方法,第二业务包提供操作失败和成功的后续处理逻辑和返回内容。

12、在一个可选的实施方式中,将hydra服务的服务接口进行封装时,还编写相关拦截器扩展鉴权功能进行封装。

13、在一个可选的实施方式中,封装的拦截器包括第一拦截器、第二拦截器、第三拦截器和第四拦截器;

14、第一拦截器包含日志记录器,提供判断是否需要排除某个 uri的方法、判断请求是否需要绕过 oauth 认证的方法、设置未经授权的响应状态码的方法;

15、第二拦截器用于对用户的请求进行认证和授权,且提供授权失败时的执行逻辑;其中对用户请求的认证包括尝试校验用户的令牌是否已经过期,如果过期且用户有refresh token,则使用 refresh token 刷新令牌,如果刷新成功,则更新用户信息,并在session 中保存该信息,如果刷新失败,则表示用户请求未通过认证,请求将被拒绝;同时,将用户请求认证的结果保存到 request 的属性中;

16、第三拦截器用于提供判断token有效性和从header中获取的参数的方法;

17、第四拦截器用于检查请求是否已通过oauth验证并具有足够的权限来访问请求处理程序。

18、在一个可选的实施方式中,封装包为starter包。

19、第二方面,本发明的技术方案提供一种hydra服务调用系统,包括,

20、封装包构建模块:将hydra服务的配置类和服务接口进行封装,构建封装包,封装包将配置文件和封装后的服务接口暴露给应用程序;

21、封装包调用模块:应用程序调用封装包,使用封装包提供的配置文件进行参数配置;封装包读取所配置参数映射到hydra的原生服务中;应用程序基于业务需求调用相关封装后的服务接口触发hydra服务进行业务处理。

22、第三方面,本发明的技术方案提供一种终端,包括:

23、存储器,用于存储hydra服务调用程序;

24、处理器,用于执行所述hydra服务调用程序时实现如上述任一项所述hydra服务调用方法的步骤。

25、第四方面,本发明的技术方案提供一种计算机可读存储介质,所述可读存储介质上存储有hydra服务调用程序,所述hydra服务调用程序被处理器执行时实现如上述任一项所述hydra服务调用方法的步骤。

26、本发明提供的一种hydra服务调用方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:将hydra服务的配置类和服务接口进行封装以构建封装包,应用程序调用封装包只需填写少量的配置参数即可,无需编写大量代码即可获得更多有用的业务信息和更少的配置体验。本发明通过构建包含hydra配置类和接口封装包,在hydra服务和应用程序之间建立桥梁,使应用程序调用封装包即可使用hydra服务,提高调用hydra服务的便利性,提高工作效率。



技术特征:

1.一种hydra服务调用方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的hydra服务调用方法,其特征在于,将hydra服务的配置类进行封装,具体包括:

3.根据权利要求2所述的hydra服务调用方法,其特征在于,封装的服务接口包括核心业务包、实体类和令牌句柄。

4.根据权利要求3所述的hydra服务调用方法,其特征在于,核心业务包包括第一业务包和第二业务包,第一业务包提供重定向实现、退出重定向、登出、callback获取token的方法,第二业务包提供操作失败和成功的后续处理逻辑和返回内容。

5.根据权利要求4所述的hydra服务调用方法,其特征在于,将hydra服务的服务接口进行封装时,还编写相关拦截器扩展鉴权功能进行封装。

6.根据权利要求5所述的hydra服务调用方法,其特征在于,封装的拦截器包括第一拦截器、第二拦截器、第三拦截器和第四拦截器;

7.根据权利要求1-6任一项所述的hydra服务调用方法,其特征在于,封装包为starter包。

8.一种hydra服务调用系统,其特征在于,包括,

9.一种终端,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有hydra服务调用程序,所述hydra服务调用程序被处理器执行时实现如权利要求1-7任一项所述hydra服务调用方法的步骤。


技术总结
本发明涉及hydra服务领域,具体公开一种hydra服务调用方法、系统、终端及存储介质,将hydra服务的配置类和服务接口进行封装,构建封装包,封装包将配置文件和封装后的服务接口暴露给应用程序;应用程序调用封装包,使用封装包提供的配置文件进行参数配置;封装包读取所配置参数映射到hydra的原生服务中;应用程序基于业务需求调用相关封装后的服务接口触发hydra服务进行业务处理。本发明通过构建包含hydra配置类和接口封装包,在hydra服务和应用程序之间建立桥梁,使应用程序调用封装包即可使用hydra服务,提高调用hydra服务的便利性,提高工作效率。

技术研发人员:刘逸飞,金洪殿,张晏
受保护的技术使用者:北方健康医疗大数据科技有限公司
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1