CN115766134A - 一种api网关统一鉴权的方法和装置 - Google Patents

一种api网关统一鉴权的方法和装置 Download PDF

Info

Publication number
CN115766134A
CN115766134A CN202211365718.1A CN202211365718A CN115766134A CN 115766134 A CN115766134 A CN 115766134A CN 202211365718 A CN202211365718 A CN 202211365718A CN 115766134 A CN115766134 A CN 115766134A
Authority
CN
China
Prior art keywords
api
authentication
api gateway
consumer
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211365718.1A
Other languages
English (en)
Inventor
宋飞虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unihub China Information Technology Co Ltd
Original Assignee
Unihub China Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unihub China Information Technology Co Ltd filed Critical Unihub China Information Technology Co Ltd
Priority to CN202211365718.1A priority Critical patent/CN115766134A/zh
Publication of CN115766134A publication Critical patent/CN115766134A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种API网关统一鉴权的方法及装置,所述方法包括:在API网关中新增消费者,并且在消费者中选择鉴权方式;在消费者中配置鉴权的参数,并保存消费者的配置信息;将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。以此方式,使用API网关完成权限校验,降低了后端服务的请求压力;将处理对象为用户和服务的鉴权统一管理,可以支持所有常用的鉴权方式;通过API的树形结构,在已创建的鉴权上绑定不同的API;绑定成功后可以查看到鉴权的使用情况。

Description

一种API网关统一鉴权的方法和装置
技术领域
本发明的实施例一般涉及计算机网络认证鉴权技术领域,尤其涉及一种API网关统一鉴权方法和装置。
背景技术
API(Application Programming Interface)是应用程序的开发接口。任何一个应用***如果需要被其他***调用,就需要暴露API。API直接暴露在公网上,会有安全风险,所以这里需要使用API网关作为API的统一入口,所有用户请求都会过API网关。API网关作为API的统一入口,用户可以将服务的鉴权放到API网关中实现,这种方式有助于简化分布式***架构,提升***整体的可靠性和稳定性。
网络服务通常包括客户端和服务端,通过API网关统一接收客户端或者外部合作伙伴等调用方的请求,并根据各个接口不同的逻辑,进行一定的校验和逻辑处理,再转发给后端服务方。显然,API网关是网络服务中承接客户端和后端服务的中间桥梁,作为对外提供服务的入口,就像企业服务的大门。一方面,要有足够的能力,应对大量的对外访问,另一方面,还要给对内的服务提供一定的安全保障。随着网络的发展和普及,对于API网关的性能要求越来越高,数据访问、交换过程中单纯的基于内存数据库做缓存,已经无法满足高性能的要求。
如专利:“一种基于应用实现API网关独立鉴权的方法(申请号:CN202110131013.2)”:所述方法通过使用kong插件实现原生API访问权限控制;所述kong插件为APP鉴权插件;所述方法的实现包括:创建API,创建时选择APP认证;发布API,在发布时将所述APP鉴权插件配置写入API网关;API网关控制台前端页面根据用户需要创建APP应用,作为用户调用API的身份。该发明相比于其他鉴权方式,处理速度更快,授权关系持久化到后端数据库中,后端提供备用鉴权接口,有效保证API的安全稳定调用,但是没有解决API网关不能同时支持多种鉴权方式以及目前的鉴权方式需要在每个API上配置鉴权信息,操作繁琐,而且无法查看鉴权被绑定的信息问题。
发明内容
为解决以上问题,本发明使用API网关完成权限校验,降低了后端服务的请求压力;将处理对象为用户和服务的鉴权统一管理,可以支持所有常用的鉴权方式;通过API的树形结构,在已创建的鉴权上绑定不同的API;绑定成功后可以查看到鉴权的使用情况。
根据本发明的实施例,提供了一种API网关统一鉴权的方法和装置。
在本发明的第一方面,提供了一种API网关统一鉴权的方法。该方法包括:
S01:在API网关中新增消费者,并且在消费者中选择鉴权方式;
S02:在消费者中配置鉴权的参数,并保存消费者的配置信息;
S03:将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
S04:若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
进一步地,S01中所述的消费者用于标识服务的请求方。
进一步地,S01中所述的鉴权方式包括:openid-connect、jwt-auth、hmac-auth和basic-auth,其中hmac-auth和basic-auth的处理对象为用户,openid-connect和jwt-auth的处理对象为服务。
进一步地,所述的处理对象为用户,表示每个用户有自己的鉴权信息;所述的处理对象为服务,表示每个服务有自己的鉴权信息,API网关针对服务进行鉴权认证,消费者配置服务的公钥,API网关使用公钥对用户的token进行校验。
进一步地,S03中所述的将消费者绑定到API的具体步骤为:
S031:在消费者中打开API的树形结构;
S032:选择需要绑定的API,若鉴权的处理对象为用户,则多个消费者可以重复绑定一个API;若鉴权的处理对象为服务,则多个消费者不可重复绑定一个API。
进一步地,S03中所述的消费者若未绑定API,则不会对访问请求进行校验。
在本发明的第二方面,提供了一种API网关统一鉴权的装置。该装置包括:
新增模块:用于在API网关中新增消费者,并且在消费者中选择鉴权方式;
配置模块:用于在消费者中配置鉴权的参数,并保存消费者的配置信息;
绑定模块:用于将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
校验模块:用于判断若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
进一步地,新增模块中所述的消费者用于标识服务的请求方。
进一步地,新增模块中所述的鉴权方式包括:openid-connect、jwt-auth、hmac-auth和basic-auth,其中hmac-auth和basic-auth的处理对象为用户,openid-connect和jwt-auth的处理对象为服务。
进一步地,所述的处理对象为用户,表示每个用户有自己的鉴权信息;所述的处理对象为服务,表示每个服务有自己的鉴权信息,API网关针对服务进行鉴权认证,消费者配置服务的公钥,API网关使用公钥对用户的token进行校验。
进一步地,所述绑定模块还包括:
树形结构打开模块:用于在消费者中打开API的树形结构;
选择模块:用于选择需要绑定的API,若鉴权的处理对象为用户,则多个消费者可以重复绑定一个API;若鉴权的处理对象为服务,则多个消费者不可重复绑定一个API。
进一步地,绑定模块中所述的消费者若未绑定API,则不会对访问请求进行校验。
以上提及的英文释义:
Token:令牌
本发明使用API网关完成权限校验,降低了后端服务的请求压力;将处理对象为用户和服务的鉴权统一管理,可以支持所有常用的鉴权方式;通过API的树形结构,在已创建的鉴权上绑定不同的API;绑定成功后可以查看到鉴权的使用情况。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。其中:
图1示出了根据本发明的实施例的API网关统一鉴权的方法流程图;
图2示出了根据本发明的实施例的API网关统一鉴权的装置方框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
根据本发明的实施方式,提出了API网关统一鉴权的方法及装置,使用API网关完成权限校验,降低了后端服务的请求压力;将处理对象为用户和服务的鉴权统一管理,可以支持所有常用的鉴权方式;通过API的树形结构,在已创建的鉴权上绑定不同的API;绑定成功后可以查看到鉴权的使用情况。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的API网关统一鉴权的方法流程示意图。该方法包括:
S01:在API网关中新增消费者,并且在消费者中选择鉴权方式;
S02:在消费者中配置鉴权的参数,并保存消费者的配置信息;
S03:将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
S04:若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述API网关统一鉴权的方法进行更为清楚的解释,下面结合两个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
下面以两个具体实例来更加详细的对API网关统一鉴权的方法进一步说明:
实施例1:
本实施例中租户使用openid-connect的鉴权方式在API网关上面做鉴权。
租户在API网关上增加消费者,鉴权方式选择openid-connect,租户在消费者中配置鉴权参数:API密钥对中的公钥。
租户完成消费者的配置后,将消费者绑定到所述API中,API网关接收API调用方发送的API认证请求信息,并转发到对应的认证授权服务器;
认证授权服务器根据用户名、密码和密钥对中的私钥生成token,并将token应答给API网关。
API网关将token应答给API调用方,API调用方将token缓存到本地,API调用方携带token向API网关发送API业务请求消息。
API网关使用预先配置的公钥验证token信息是否有效:如果token信息验证有效,API网关将接收的API业务请求转发到API对应的后端服务,后端服务处理业务请求,并将应答信息返回给API网关,API网关将后端服务的应答返回给API调用方;否则,API网关将token验证失效的信息应答给所述API调用方,token失效场景包括:token不合法和token已过期。
实施例2:
本实施例中租户使用hmac-auth的鉴权方式在API网关上面做鉴权。
租户在API网关上增加两个消费者,鉴权方式均选择hmac-auth,两个消费者分别对应租户的两个API调用方A和B。
租户在两个消费者中分别配置鉴权参数:API调用方A的公钥、私钥和加密算法以及API调用方B的公钥、私钥和加密算法,公钥是唯一的,API调用方A的公钥与调用方B的公钥不能重复。
租户完成消费者的配置后,将两个消费者均绑定到所述API中,API网关接收API调用方A和B发送的API请求信息,请求信息中携带公钥、加密算法和签名,所述签名需要根据请求URL、HTTP请求方法、公钥、私钥和加密算法生成;API网关根据入参的公钥匹配到API调用方对应的消费者;API网关根据消费者中的公钥、私钥、加密算法和请求信息中的请求URL、HTTP请求方法生成签名。
API网关将生成的签名和请求信息中的签名比较;如果签名相同,API网关将接收的API业务请求转发到API对应的后端服务,后端服务处理业务请求,并将应答信息返回给API网关,API网关将后端服务的应答返回给API调用方;否则,API网关将签名不合法的信息应答给所述API调用方。
基于同一发明构思,本发明还提出了一种API网关统一鉴权的装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。如图2所示,该装置100包括:
新增模块101:用于在API网关中新增消费者,并且在消费者中选择鉴权方式;
配置模块102:用于在消费者中配置鉴权的参数,并保存消费者的配置信息;
绑定模块103:用于将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
校验模块104:用于判断若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
其中,所述绑定模块103还包括:
树形结构打开模块1031:用于在消费者中打开API的树形结构;
选择模块1032:用于选择需要绑定的API,若鉴权的处理对象为用户,则多个消费者可以重复绑定一个API;若鉴权的处理对象为服务,则多个消费者不可重复绑定一个API。
本发明提出的一种API网关统一鉴权的装置,使用API网关完成权限校验,降低了后端服务的请求压力;将处理对象为用户和服务的鉴权统一管理,可以支持所有常用的鉴权方式;通过API的树形结构,在已创建的鉴权上绑定不同的API;绑定成功后可以查看到鉴权的使用情况。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (12)

1.一种API网关统一鉴权的方法,其特征在于,该方法包括:
S01:在API网关中新增消费者,并且在消费者中选择鉴权方式;
S02:在消费者中配置鉴权的参数,并保存消费者的配置信息;
S03:将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
S04:若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
2.根据权利要求1所述的一种API网关统一鉴权的方法,其特征在于,S01中所述的消费者用于标识服务的请求方。
3.根据权利要求1所述的一种API网关统一鉴权的方法,其特征在于,S01中所述的鉴权方式包括:openid-connect、jwt-auth、hmac-auth和basic-auth,其中hmac-auth和basic-auth的处理对象为用户,openid-connect和jwt-auth的处理对象为服务。
4.根据权利要求3所述的一种API网关统一鉴权的方法,其特征在于,所述的处理对象为用户,表示每个用户有自己的鉴权信息;所述的处理对象为服务,表示每个服务有自己的鉴权信息,API网关针对服务进行鉴权认证,消费者配置服务的公钥,API网关使用公钥对用户的token进行校验。
5.根据权利要求1所述的一种API网关统一鉴权的方法,其特征在于,S03中所述的将消费者绑定到API的具体步骤为:
S031:在消费者中打开API的树形结构;
S032:选择需要绑定的API,若鉴权的处理对象为用户,则多个消费者可以重复绑定一个API;若鉴权的处理对象为服务,则多个消费者不可重复绑定一个API。
6.根据权利要求5所述的一种API网关统一鉴权的方法,其特征在于,S03中所述的消费者若未绑定API,则不会对访问请求进行校验。
7.一种API网关统一鉴权的装置,其特征在于,该装置包括:
新增模块:用于在API网关中新增消费者,并且在消费者中选择鉴权方式;
配置模块:用于在消费者中配置鉴权的参数,并保存消费者的配置信息;
绑定模块:用于将消费者绑定到API中,在API网关收到访问请求且匹配中API时,API网关根据绑定的消费者信息对请求信息进行校验;
校验模块:用于判断若校验成功,API网关将请求信息转发给API,并将业务应答返回给API调用方;若校验不成功,API网关返回请求失败信息给API调用方。
8.根据权利要求7所述的一种API网关统一鉴权的装置,其特征在于,新增模块中所述的消费者用于标识服务的请求方。
9.根据权利要求7所述的一种API网关统一鉴权的装置,其特征在于,新增模块中所述的鉴权方式包括:openid-connect、jwt-auth、hmac-auth和basic-auth,其中hmac-auth和basic-auth的处理对象为用户,openid-connect和jwt-auth的处理对象为服务。
10.根据权利要求9所述的一种API网关统一鉴权的装置,其特征在于,所述的处理对象为用户,表示每个用户有自己的鉴权信息;所述的处理对象为服务,表示每个服务有自己的鉴权信息,API网关针对服务进行鉴权认证,消费者配置服务的公钥,API网关使用公钥对用户的token进行校验。
11.根据权利要求7所述的一种API网关统一鉴权的装置,其特征在于,所述绑定模块还包括:
树形结构打开模块:用于在消费者中打开API的树形结构;
选择模块:用于选择需要绑定的API,若鉴权的处理对象为用户,则多个消费者可以重复绑定一个API;若鉴权的处理对象为服务,则多个消费者不可重复绑定一个API。
12.根据权利要求11所述的一种API网关统一鉴权的装置,其特征在于,绑定模块中所述的消费者若未绑定API,则不会对访问请求进行校验。
CN202211365718.1A 2022-10-31 2022-10-31 一种api网关统一鉴权的方法和装置 Pending CN115766134A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211365718.1A CN115766134A (zh) 2022-10-31 2022-10-31 一种api网关统一鉴权的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211365718.1A CN115766134A (zh) 2022-10-31 2022-10-31 一种api网关统一鉴权的方法和装置

Publications (1)

Publication Number Publication Date
CN115766134A true CN115766134A (zh) 2023-03-07

Family

ID=85356060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211365718.1A Pending CN115766134A (zh) 2022-10-31 2022-10-31 一种api网关统一鉴权的方法和装置

Country Status (1)

Country Link
CN (1) CN115766134A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846975A (zh) * 2023-06-07 2023-10-03 浪潮智慧科技有限公司 一种基于api网关的消费服务方法、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846975A (zh) * 2023-06-07 2023-10-03 浪潮智慧科技有限公司 一种基于api网关的消费服务方法、设备及介质

Similar Documents

Publication Publication Date Title
US11792179B2 (en) Computer readable storage media for legacy integration and methods and systems for utilizing same
JP2003208404A (ja) ネットワークユーザセッションのためのグラニュラ認証
EP2582115A1 (en) A qualified electronic signature system, associated method and mobile phone device for a qualified electronic signature
US20210135869A1 (en) Using ip heuristics to protect access tokens from theft and replay
CN113742676B (zh) 一种登录管理方法、装置、服务器、***及存储介质
CA3006893A1 (en) Digital identity network interface system
CN111880919A (zh) 数据调度方法、***和计算机设备
CN112187453A (zh) 一种数字证书更新方法、***、电子设备和可读存储介质
CN115766134A (zh) 一种api网关统一鉴权的方法和装置
CN1481109A (zh) 基于无线传输平台的动态密码身份认证***
CN109274699A (zh) 鉴权方法、装置、服务器及存储介质
US11689923B2 (en) Method and system for generating a secure one-time passcode using strong authentication
CN111723347B (zh) 身份认证方法、装置、电子设备及存储介质
CN113784354A (zh) 基于网关的请求转换方法和装置
CN113824691A (zh) 一种移动端第三方h5应用静默登录策略实现方法
CN114579951A (zh) 业务访问方法、电子设备及存储介质
US20050120206A1 (en) Method and system for rule-based certificate validation
CN110784551A (zh) 基于多租户的数据处理方法、装置、设备和介质
US8166294B1 (en) Cryptographic framework
CN111049808A (zh) 实名认证方法及装置
CN114826692B (zh) 信息登录***、方法、电子设备及存储介质
US20240104525A1 (en) Methods and systems for pre-verification of cryptocurrency transfers using test transactions
WO2024093964A1 (zh) 一种移动端单点登录认证的方法及***
CN112242901B (zh) 服务验证方法、装置、设备及计算机存储介质
US20240005312A1 (en) Multi-Factor User Authentication Using Blockchain Tokens

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination