CN112367299B - 一种应用程序接口api管理的方法以及相关装置 - Google Patents

一种应用程序接口api管理的方法以及相关装置 Download PDF

Info

Publication number
CN112367299B
CN112367299B CN202011109004.5A CN202011109004A CN112367299B CN 112367299 B CN112367299 B CN 112367299B CN 202011109004 A CN202011109004 A CN 202011109004A CN 112367299 B CN112367299 B CN 112367299B
Authority
CN
China
Prior art keywords
api
terminal
gateway
login information
authentication
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.)
Active
Application number
CN202011109004.5A
Other languages
English (en)
Other versions
CN112367299A (zh
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.)
Shenzhen Kemanda Intelligent Management Science & Technology Co ltd
Original Assignee
Shenzhen Kemanda Intelligent Management Science & 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 Shenzhen Kemanda Intelligent Management Science & Technology Co ltd filed Critical Shenzhen Kemanda Intelligent Management Science & Technology Co ltd
Priority to CN202011109004.5A priority Critical patent/CN112367299B/zh
Publication of CN112367299A publication Critical patent/CN112367299A/zh
Application granted granted Critical
Publication of CN112367299B publication Critical patent/CN112367299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种应用程序接口API管理的方法以及相关装置,用于提升API管理效率。本申请实施例方法包括:API服务器接收终端发送的登录信息;所述API服务器对所述登录信息进行验权;所述API服务器确认验权成功;所述API服务器根据所述登录信息获取对应的安全标识;所述API服务器向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;所述API服务器接收所述API网关发送的验权结果;所述API服务器向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务。

Description

一种应用程序接口API管理的方法以及相关装置
技术领域
本申请实施例涉及互联网技术领域,尤其涉及一种应用程序接口API管理的方法以及相关装置。
背景技术
随着互联网技术和应用软件技术的不断进步,互联网技术在各个领域得到了广泛的应用,越来越多的企业开发出了基于应用程序接口(Application ProgrammingInterface,API)网关的终端。
为了对终端的API进行统一的管理,衍生出了API网关,API网关可以对终端进行流量管控、路由控制、负载均衡以及访问权限控制等。现有技术中,所有的API请求入口都集中在API网关,终端在调用API服务前需要向API网关请求验证,其中包括基础身份验证和API调用验证,由API网关直接对来访的终端进行验证,验证后将验证结果反馈至终端。由于所有请求都直接发送至API网关,验证都由API网关完成,所以当终端数量不断增加,即API数量不断增加时,向API网关发起的验证请求数量会很大,API网关将承受巨大的负荷,进而使得API网关的验证速度大幅度降低甚至是造成宕机,管理效率低下。
发明内容
本申请实施例提供了一种应用程序接口API管理的方法以及相关装置,用于提升API管理效率。
本申请实施例第一方面提供了一种应用程序接口API管理的方法,包括:
API服务器接收终端发送的登录信息;
所述API服务器对所述登录信息进行验权;
所述API服务器确认验权成功;
所述API服务器根据所述登录信息获取对应的安全标识;
所述API服务器向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;
所述API服务器接收所述API网关发送的验权结果;
所述API服务器向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务。
可选的,在所述API服务器接收终端发送的登录信息之前,所述方法还包括:
所述API服务器将所述终端的登录信息和API信息发送至API网关;所述API服务器接收所述API网关发送的安全标识,所述安全标识由所述API网关根据所述登录信息和所述API信息生成;所述安全标识表示所述API信息和终端的登录信息的对应关系;所述API服务器存储所述安全标识。
可选的,所述API服务器对所述登录信息进行验权,包括:
所述API服务器对所述登录信息中所述终端的账号和密码进行验权,若所述账号和所述密码匹配,则确认验权成功。
本申请实施例第二方面提供了另一种应用程序接口API管理的方法,包括:
API网关接收API服务器发送的安全标识;
所述API网关根据所述安全标识对所述终端进行API调用验权;
所述API网关向所述API服务器发送验权结果。
可选的,在所述API网关接收API服务器发送的安全标识之前,所述方法还包括:
所述API网关接收所述API服务器发送的所述终端的登录信息和API信息;
所述API网关根据所述登录信息和所述API信息生成所述安全标识;
所述API网关将所述安全标识发送至所述API服务器。
可选的,所述API网关根据所述安全标识对所述终端进行API调用验权,包括:
所述API网关判断所述安全标识是否符合预设的验权规则;若否,则所述API网关确认所述验权结果为验权失败;若是,则所述API网关判断所述安全标识的累计接收次数是否大于第一预设值,若大于,则所述API网关确认所述验权结果为验权失败,若不大于,所述API网关判断所述累计接收次数是否小于第二预设值;若小于,则所述API网关确认所述验权结果为验权失败,若不小于,则所述API网关确认所述验权结果为验权成功。
可选的,若所述累计接收次数大于所述第一预设值,在所述API网关向所述API服务器发送验权结果之后,所述方法还包括:
所述API网关熔断所述终端向所述API网关发送所述安全标识的链路。
可选的,若所述累计接收次数小于所述第二预设值,在所述API网关确认所述验权结果为验权失败之后,所述方法还包括:
所述API网关生成第一预警信息,所述第一预警信息用于表示所述API网关对所述终端的API调用验权存在异常。
可选的,在所述API网关熔断所述终端向所述API网关发送所述安全标识的链路之后,所述方法还包括:
所述API网关生成第二预警信息,所述第二预警信息用于表示所述API网关对所述终端的API调用验权存在异常。
本申请实施例第三方面提供了一种应用程序接口API管理的装置,包括:
第一接收单元,用于接收终端发送的登录信息;
验权单元,用于对所述登录信息进行验权;
确认单元,用于确认验权成功;
获取单元,用于根据所述登录信息获取对应的安全标识;
第一发送单元,用于向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;
第二接收单元,用于接收所述API网关发送的验权结果;
第二发送单元,用于向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务。
可选的,所述API服务器还包括:
信息发送单元,所述登录信息发送单元用于在所述第一接收单元接收终端发送的登录信息之前,将所述终端的登录信息和API信息发送至API网关;
安全标识接收单元,所述安全标识接收单元用于接收所述API网关发送的安全标识,所述安全标识由所述API网关根据所述登录信息和所述API信息生成;所述安全标识表示所述API信息和终端的登录信息的对应关系;
安全标识存储单元,所述安全标识存储单元用于存储所述安全标识。
可选的,所述验权单元具体用于对所述登录信息中所述终端的账号和密码进行验权,若所述账号和所述密码匹配,则所述验权单元确认验权成功。
本申请实施例第四方面提供了一种API网关,包括:
第三接收单元,所述第三接收单元用于接收API服务器发送的安全标识;
调用验权单元,所述调用验权单元用于根据所述安全标识对所述终端进行API调用验权;
验权结果发送单元,所述验权结果发送单元用于所述向所述API服务器发送验权结果。
可选的,所述API网关还包括:
信息接收单元,所述信息接收单元用于在所述第三接收单元接收API服务器发送的安全标识之前,接收所述API服务器发送的所述终端的登录信息和API信息;
安全标识生成单元,所述安全标识生成单元用于根据所述登录信息和所述API信息生成所述安全标识;
安全标识发送单元,所述安全标识发送单元用于将所述安全标识发送至所述API服务器。
可选的,所述调用验权单元具体用于判断所述安全标识是否符合预设的验权规则;若否,则调用验权单元确认所述验权结果为验权失败;若是,则所述调用验权单元判断所述安全标识的累计接收次数是否大于第一预设值,若大于,则所述调用验权单元确认所述验权结果为验权失败,若不大于,所述调用验权单元判断所述累计接收次数是否小于第二预设值;若小于,则所述调用验权单元确认所述验权结果为验权失败,若不小于,则所述调用验权单元确认所述验权结果为验权成功。
可选的,所述API网关还包括:熔断单元,所述熔断单元用于若所述累计接收次数大于所述第一预设值,则在所述验权结果发送单元向所述API服务器发送验权结果之后,熔断所述终端向所述第三接收单元发送所述安全标识的链路。
可选的,所述API网关还包括:第一预警信息生成单元,所述第一预警信息生成单元用于若所述累计接收次数小于所述第二预设值,则在所述调用验权单元确认所述验权结果为验权失败之后,关生成第一预警信息,所述第一预警信息用于表示所述调用验权单元对所述终端的API调用验权存在异常。
可选的,所述API网关还包括:第二预警信息生成单元,所述第二预警信息生成单元用于在所述熔断单元熔断所述终端向所述第三接收单元发送所述安全标识的链路之后,生成第二预警信息,所述第二预警信息用于表示所述调用验权单元对所述终端的API调用验权存在异常。
本申请实施例第五方面提供了一种API服务器,包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述处理器具体执行如下操作:
接收终端发送的登录信息;
对所述登录信息进行验权;
确认验权成功;
根据所述登录信息获取对应的安全标识;
向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;
接收所述API网关发送的验权结果;
向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务。
可选的,所述处理器还用于执行第一方面中的任意可选方案的操作。
本申请实施例第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如前述第一方面以及第一方面的任意可选的方法。
本申请实施例第七方面提供了一种API网关,包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述处理器具体执行如下操作:
接收API服务器发送的安全标识;
根据所述安全标识对所述终端进行API调用验权;
向所述API服务器发送验权结果。
可选的,所述处理器还用于执行第一方面中的任意可选方案的操作。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如前述第二方面以及第二方面的任意可选的方法。
从以上技术方案可以看出,本申请实施例具有以下有益效果:
本申请实施例提供了一种API服务器,API服务器首先接收终端发送的登录信息,API服务器会先对终端的登录信息进行验权,进而获取对应的安全标识,进而API服务器向API网关发送安全标识,API网关只需要对安全标识进行API调用验权,验权后向终端发送验权结果,API服务器在接收到验权结果后,可以根据验权结果执行相应的服务。本申请实施例中,API服务器会先对终端的登录信息进行验证并获取相应的安全标识,API网关只需要对安全标识进行API调用验权,极大程度地减小了验权压力,提高了API管理效率。
附图说明
图1为本申请实施例中应用程序接口API管理的方法的一个流程示意图;
图2为本申请实施例应用程序接口API管理的方法的另一个流程示意图;
图3为本申请实施例应用程序接口API管理的方法的另一个流程示意图;
图4为本申请实施例应用程序接口API管理的方法的另一个流程示意图;
图5为本申请实施例应用程序接口API管理的方法的另一个流程示意图;
图6为本申请实施例应用程序接口API管理的方法的另一个流程示意图;
图7为本申请实施例中应用程序接口API管理的装置的一种结构示意图;
图8为本申请实施例中应用程序接口API管理的装置的另一种结构示意图;
图9为本申请实施例中API网关的一种结构示意图;
图10为本申请实施例中API网关的另一种结构示意图;
图11为本申请实施例中API网关的另一种结构示意图;
图12为本申请实施例中API网关的另一种结构示意图;
图13为本申请实施例中API网关的另一种结构示意图;
图14为本申请实施例中API服务器的另一种结构示意图;
图15为本申请实施例中API网关的另一种结构示意图。
具体实施方式
本申请实施例提供了一种应用程序接口API管理的方法,用于提高API管理效率。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护范围。
本申请实施例中,应用程序接口(Application Programming Interface,API),是软件***不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的***划分成小的组成部分,API则可以衔接这些组成部分。而企业的不断发展壮大,后台的微服务越来越多,API的数量也越来越多,为了更好的管理这些API接口,衍生出了API网关,API网关负责接管所有的API接口,所有的终端的接口请求流量都集中在API网关,API网关则负责将这些请求转发给后端的服务器,但是由于所有的请求和鉴权都由API网关完成,当流量暴涨时,例如在“618”或者“双十一”等购物节时,电商平台的流量急剧增高,API网关将可能成为性能的瓶颈,API网关一旦出现问题,可能造成所有业务的崩溃,影响API接口的管理。
请参阅图1,为提高API管理效率,本申请实施例第一方面提供了一种应用程序接口API管理的方法,包括:
101、API服务器接收终端发送的登录信息;102、API服务器对登录信息进行验权;
在实际应用中,终端可以是客户端,客户端在需要访问相关的API业务时,一般直接向API网关发送登录信息,由API网关直接对登录信息进行验权等,然而,当流量越来越高时,API网关不仅需要对登录信息进行验权还需要对API的请求进行转发,API网关将会成为性能的瓶颈,影响效率。基于此,本申请实施例中,客户端在访问相关业务前,首先需要登录对应的业务平台,客户端将用户的登录信息发送至API服务器,API服务器接收到登录信息后,根据预先存储的策略对登录信息进行验权。本申请实施例中,各个客户端的请求入口仍然在原来的业务的API服务器,由API服务器对登录信息进行验权,完成基础的身份验证,可以减小所有请求集中在API网关而造成的性能瓶颈的影响,提高了API接口的管理效率。
可选的,API服务器对登录信息进行验权可以是对登录信息中的账号和密码进行验权。具体的,登录信息为用户的账号和密码,则API服务器根据预先存储的匹配列表,查询对应的账号和密码是否匹配,若匹配则确认验权成功,进而可以获取对应的token令牌。
103、API服务器确认验权成功;104、API服务器根据登录信息获取对应的安全标识;105、API服务器向API网关发送安全标识,以使得API网关根据安全标识对终端进行API调用验权;
为了减少API网关的验权压力,本申请实施例中,API服务器在确认对登录信息的验权成功后,会根据登录信息获取对应的安全标识,安全标识会预先存储在API服务器中,安全标识是根据API服务器和API网关之间预先设置的一种通信策略生成的,安全标识中携带有代表该登录信息的唯一标识,以及对所要调用的API的调用请求,该调用请求中包含有请求路径,API可以根据该请求路径找到对应的API,例如可以是token令牌,安全标识还可以根据不同场景的需求,携带有其它信息,具体此处不做限定。进而API服务器将安全标识发送至API网关,API网关直接根据预先设置的通信策略对安全标识进行验权,例如根据预先设置的IP白名单、token机制或者传输数据签名验证等策略进行验权,减小了API网关的验权压力,进一步提升了API管理效率。
106、API服务器接收API网关发送的验权结果;107、API服务器向终端发送验权结果,以使得终端根据验权结果执行对应的服务。
API网关在对安全标识进行验权后,将验权结果返回至API服务器,API服务器将验权结果发送至终端,验权结果可以是验权成功也可以是验权失败,具体的由API网关根据一定的策略来进行管控,验权成功后,API服务器可以接受终端的接口调用,允许终端访问API服务器,失败则拒绝,或者是进行进一步的限制和管理。
本申请实施例中,终端在调用API前,首先会将登陆信息发送至自身的API服务器,由API服务器完成基础的身份验权,API服务器确认验权成功后携带安全标识向API网关请求调用API接口,API网关只需要对安全标识进行验权,并将验权结果返回至API服务器。本申请实施例中,终端的调用请求入口依然在自身对应的API服务器上,由API服务器来完成基础的身份验权,网关负责对API调用进行管控,极大程度地减小了API网关的验权压力,减小了所有请求入口集中在API网关而造成网关性能瓶颈的影响,提高了API接口的管理效率。
请参阅图2,本申请实施例提供了一种应用程序接口API管理的方法,在API服务器接收终端发送的登录信息之前,API服务器还可以执行步骤201、步骤202以及步骤203。
201、API服务器将终端的登录信息和API信息发送至API网关;202、API服务器接收API网关发送的安全标识,安全标识由API网关根据登录信息和API信息生成;安全标识表示API信息和终端的登录信息的对应关系;203、API服务器存储安全标识;
在实际应用中,对于所有需要接入API网关的API服务器来说,可以提前将用户的登录信息以及API服务器的API信息注册到API网关,可以采取数据同步的方式进行,也可以在API服务器上封装一层API服务层,该API服务层不需要处理相关的业务,不需要设置业务逻辑,只需要完成对登录信息的验权以及调用信息包括安全标识以及API信息的转发,快速衔接终端以及API网关,可以是非常轻量级的。
API网关接收到登录信息和API信息后会生成安全标识,并返回至API服务器中的API服务层,API服务器可以将安全标识存储在API服务层中,以便于下次的验权。例如API网关向API服务器颁发token令牌,下次当API服务器向API网关转发调用请求时,无需再转发具体的调用信息,只需要携带token令牌,API网关对token令牌快速验权,即可确定验权结果。提高了验权效率。
204、API服务器接收终端发送的登录信息;
205、API服务器对登录信息进行验权;
206、API服务器确认验权成功;
207、API服务器根据登录信息获取对应的安全标识;
208、API服务器向API网关发送安全标识,以使得API网关根据安全标识对终端进行API调用验权;
209、API服务器接收API网关发送的验权结果;
210、API服务器向终端发送验权结果,以使得终端根据验权结果执行对应的服务。
本申请实施例中步骤204至步骤210与前述实施例中步骤101至步骤107类似,此处不再赘述。
本申请中包含API服务器侧以及API网关侧的方法,上述实施例对API服务器侧的方法进行了描述,下面将结合附图,对本申请中API网关侧进行详细描述。
请参阅图3,本申请实施例第二方面提供了另一种应用程序接口API管理的方法,包括:
301、API网关接收API服务器发送的安全标识;302、API网关根据安全标识对终端进行API调用验权;
在实际应用中,如果所有对API调用的请求入口集中于API网关,API网关直接与终端的客户端进行通信,当流量增大时,对API的调用会受到API网关的性能限制,并且API网关对外暴露,***风险增大,这很容易使得API网关遭受直接外部攻击,进而造成API网关的宕机。基于此,本申请实施例中,API网关不再与终端直接进行通信,对API请求的入口依然在对应的API服务器上,API网关接收API服务器发送的安全标识,该安全标识中可以携带有调用方的身份信息以及请求路径等,API网关直接对安全标识进行验权。
具体的,API网关直接根据预先设置的通信策略对安全标识进行验权,例如根据预先设置的IP白名单、token机制或者传输数据签名验证等策略进行验权。为了满足各个不同平台的个性需求,API网关中可以定义有多种验权策略,进而可以更全面的对各个平台对应的API服务进行管控。
303、API网关向API服务器发送验权结果。
API网关在对安全标识进行验权后,将验权结果返回至API服务器,API服务器将验权结果发送至终端,验权结果可以是验权成功也可以是验权失败,具体的由API网关对根据一定的策略来进行管控,验权成功后,API服务器可以接受终端的接口调用,允许终端访问API服务器,失败则拒绝,或者是API网关对API服务器进行进一步的限制。
本申请实施例中,API网关接收API服务器发送的安全标识,并对安全标识进行验权,进而将验权结果返回至API服务器,API服务器可以根据验权结果执行对应的服务。本申请实施例中,终端对API调用的请求入口依然保留在各自对应的API服务器中,突破了所有请求入口集中于API网关而造成的API网关性能瓶颈,不仅提高了API管理效率,而且由于API网关不再对外暴露,提高了安全性。
请参阅图4,本申请实施例提供了一种应用程序接口API管理的方法,包括:
在API网关接收API服务器发送的安全标识之前,还可以执行步骤401、402、403;
401、API网关接收API服务器发送的终端的登录信息和API信息;402、API网关根据登录信息和API信息生成安全标识;403、API网关将安全标识发送至API服务器;
在实际应用中,对于所有需要接入API网关的API服务器来说,可以提前将用户的登录信息以及API服务器的API信息注册到API网关,可以采取数据同步的方式进行,也可以在API服务器上封装一层API服务层,该API服务层不需要处理相关的业务,不需要设置业务逻辑,只需要完成对登录信息的验权以及调用信息包括安全标识以及API信息的转发,快速衔接终端以及API网关,可以是非常轻量级的。
API网关接收到登录信息和API信息后会生成安全标识,并返回至API服务器中的API服务器,API服务器可以将安全标识存储在API服务层中,以便于下次的验权。例如API网关向API服务器颁发token令牌,下次当API服务器向API网关转发调用请求时,无需再转发具体的调用信息,只需要携带token令牌,API网关对token令牌快速验权,即可确定验权结果。提高了验权效率。
404、API网关接收API服务器发送的安全标识;
405、API网关根据安全标识对终端进行API调用验权;
406、API网关向API服务器发送验权结果。
本实施例中,步骤404至步骤406与前述实施例中步骤301至步骤303类似,此处不再赘述。
在实际应用中,当对API的调用请求的流量急剧增高,例如在“双十一”或者“双十二”或“618”等购物节,电商平台的流量急剧增高,对API的请求量是平时的数倍,如果API网关的容量不足以接受急剧增高的请求的流量,很可能会导致服务的不可用,或者是API网关的宕机。因此,对接入方的流量管控非常重要。
基于此,请参阅图5,本申请实施例提供了一种应用程序接口API管理的方法,包括:
501、API网关接收API服务器发送的安全标识;
502、API网关判断安全标识是否符合预设的验权规则;若否,则执行步骤506;若是,则执行步骤503;
本实施例中,API网关首先需要根据API服务器发送的安全标识来判断对应的终端的身份,例如可以根据API网关中预先定义的策略来确定,例如根据预先设置的IP白名单、token机制或者传输数据签名验证等策略进行判断。
506、API网关确认验权结果为验权失败;
若不符合预设的验权规则,例如所持有的token令牌无效或者该终端不在IP白名单内,或者累计接收次数超出上限或者未达到下限,则确定验权失败,进而API网关向API服务器返回验权失败的结果,API服务器可以根据验权失败的结果拒绝调用API。
503、API网关判断安全标识的累计接收次数是否大于第一预设值;若大于,则执行步骤506;若不大于,则执行步骤504;
若验权通过,则API网关需要对API服务器进行流量管控,在实际应用中,如果一个API网关向一个API服务器返回验权失败的结果后,终端很可能会重复地发起请求,导致API服务器频繁向API网关发送安全标识,进而占用API网关的资源,甚至影响其它的服务的正常使用。基于此,本实施例中,将对API服务器的访问设置一定的访问上限,本实施例中安全标识的累计接收次数可以表示API服务器的访问次数,具体的,还可以根据IP、API接口或者是安全标识中的特定的参数来进行限流判断,API网关可以根据每个API服务器的调用频次、成功率、响应时间等来预先确定第一预设值,以在充分满足各个API服务器的需求的同时,提高API的管理效率。若未达到上限,API网关继续判断访问次数是否达到下限,若达到上限,则说明流量超出限制,向API服务器返回验权失败的结果,API服务器可以拒绝终端的调用,或者是使用排队、降级或等待时间等策略,等待高峰期过后再开放,例如,正常情况下,用户在电商平台上下单后需要完善配送信息以及保险信息等才可以完成下单,当电商平台在面对高并发秒杀订单时,可以降级处理,在秒杀后直接下单成功,下单成功后再完善配送信息和保险信息。
504、API网关判断累计接收次数是否小于第二预设值;若小于,则执行步骤506;若不小于,则执行步骤505;505、API网关确认验权结果为验权成功,并执行步骤507;507、API网关向API服务器发送验权结果。
在实际应用中,为了满足特定的场景,需要对终端的流量有一定的要求,例如需要通过对是否达到一定的访问次数下限来判断是否为特殊身份的终端,若未达到第二预设值则验权失败,API服务器可以做出进一步的处理。使得限流的管控更完善。若达到,则确定验权成功,API网关将验权结果返回至API服务器,API服务器同意终端的调用,并提供相应的服务。
进一步的,在实际应用中,例如,当A服务频繁向API网关发送验权,或者是API网关对A服务的响应较慢,而同样需要API网关提供验权的B服务会因为A服务而被拖慢,甚至是造成服务不可用,例如在资讯平台上遇到热点事件时,其它服务将可能会崩溃,或者是竞争对手的恶意爬虫或者是电商平台的恶意刷单等,都可能会拖垮其它服务。
基于此,请参阅图6,本申请实施例提供了一种应用程序接口API管理的方法,包括:
601、API网关接收API服务器发送的安全标识;602、API网关判断安全标识是否符合预设的验权规则;若否,则执行步骤607;若是,则执行步骤603;607、API网关确认验权结果为验权失败;603、API网关判断安全标识的累计接收次数是否大于第一预设值;若大于,则执行步骤607;若不大于,则执行步骤604;
本实施中,步骤601至步骤603与前述实施例中步骤501至步骤503类似,此处不再赘述。
604、API网关判断累计接收次数是否小于第二预设值;若小于,则执行步骤607;若不小于,则执行步骤605;605、API网关确认验权结果为验权成功,并执行步骤606;606、API网关向API服务器发送验权成功的验权结果;608、API网关向API服务器发送验权失败的验权结果;609、API网关熔断终端向API网关发送安全标识的链路。
本申请实施例中,API网关在确定安全标识的累计接收次数值大于第一预设值后,确认验权结果为验权失败,并立即向API服务器返回验权失败的验权结果,为了减少因为API服务器频繁向API网关发送调用请求,本实施例中,在向服务器返回验权失败的验权结果后,可以直接熔断与该API服务器的连接链路,防止该API服务器占用过多的资源而影响其它服务或者造成API网关宕机。具体的,可以设置有等待时间,在熔断达到一定的时长后,自动恢复连接,也可以是等到高峰期过后自动恢复连接。例如,当某资讯平台遇到热点事件时,暂时熔断其它不重要的服务,使用API网关的大部分性能来处理热点事件,减少因为性能瓶颈而造成服务崩溃的情况发生,等待热点事件高峰期过后再恢复其它服务。或者是在电商平台产生高并发事件时,采用降级处理,等到下单成功后再完善配送信息,优先保证秒杀活动的时效性。
可选的,在实际应用中,为了使得对API服务器的管理更加完善,进一步提高管理效率,除了在确定安全标识的累计接收次数大于第一预设值后,可以熔断链路外,若API网关确定安全标识不符合预设规则或者确定累计接收次数值小于第二预设值,则在确定验权结果为验权失败后,也可以熔断该链路。
可选的,在API网关熔断终端向API网关发送安全标识的链路之后,API网关可以生成第二预警信息,第二预警信息用于表示API网关对终端的API调用验权存在异常。为了完善对API网关以及API服务器的管理,在实际限流管控中,对每一次的熔断都要有日志记录,具体的可以使用一定的规范日志,统一生成标识符,以便于调试和排除以及追踪数据流。
在另一种可选的方式中,还可以是,若累计接收次数小于第二预设值,则API网关在确认验权结果为验权失败之后,API网关生成第一预警信息,第一预警信息用于表示API网关对终端的API调用验权存在异常。
上面对本申请中应用程序接口API管理的方法的实施例进行了描述,下面将结合附图对本申请中的相关装置进行详细描述。
请参阅图7,本申请实施例第三方面提供了一种应用程序接口API管理的装置。
一种应用程序接口API管理的装置,包括:
第一接收单元701,用于接收终端发送的登录信息;
验权单元702,用于对登录信息进行验权;
确认单元703,用于确认验权成功;
获取单元704,用于根据登录信息获取对应的安全标识;
第一发送单元705,用于向API网关发送安全标识,以使得API网关根据安全标识对终端进行API调用验权;
第二接收单元706,用于接收API网关发送的验权结果;
第二发送单元707,用于向终端发送验权结果,以使得终端根据验权结果执行对应的服务。
本申请实施例中,终端在调用API前,首先会将登陆信息发送至自身的API服务器中的第一接收单元701,由验权单元702完成基础的身份验权,确认单元703确认验权成功后,第一发送单元705携带安全标识向API网关请求调用API接口,API网关只需要对安全标识进行验权,并将验权结果返回至第二接收单元706。本申请实施例中,终端的调用请求入口依然在自身对应的API服务器上,由API服务器来完成基础的身份验权,网关负责对API调用进行管控,极大程度地减小了API网关的验权压力,突破了所有请求入口集中在API网关而造成网关性能瓶颈的限制,提高了API接口的管理效率。
可选的,请参阅图8,应用程序接口API管理的装置还可以包括:
信息发送单元708,登录信息发送单元708用于在第一接收单元接收终端发送的登录信息之前,将终端的登录信息和API信息发送至API网关;
安全标识接收单元709,安全标识接收单元709用于接收API网关发送的安全标识,安全标识由API网关根据登录信息和API信息生成;安全标识表示API信息和终端的登录信息的对应关系;
安全标识存储单元710,安全标识存储单元710用于存储安全标识。
可选的,验权单元702具体用于对登录信息中终端的账号和密码进行验权,若账号和密码匹配,则验权单元702确认验权成功。
请参阅图9,本申请实施例第四方面提供了一种API网关。
一种API网关,包括:
第三接收单元801,第三接收单元801用于接收API服务器发送的安全标识;
调用验权单元802,调用验权单元802用于根据安全标识对终端进行API调用验权;
验权结果发送单元803,验权结果发送单元803用于向API服务器发送验权结果。
本申请实施例中,第三接收单元801接收API服务器发送的安全标识,调用验权单元802对安全标识进行验权,进而验权结果发送单元803将验权结果返回至API服务器,API服务器可以根据验权结果执行对应的服务。本申请实施例中,终端对API调用的请求入口依然保留在各自对应的API服务器中,减小了所有请求入口集中于API网关而造成的API网关性能瓶颈的影响,不仅提高了API管理效率,而且由于API网关不再对外暴露,提高了安全性。
可选的,请参阅图10,API网关还包括:
信息接收单元804,信息接收单元804用于在第三接收单元801接收API服务器发送的安全标识之前,接收API服务器发送的终端的登录信息和API信息;
安全标识生成单元805,安全标识生成单元805用于根据登录信息和API信息生成安全标识;
安全标识发送单元806,安全标识发送单元806用于将安全标识发送至API服务器。
可选的,调用验权单元802具体用于判断安全标识是否符合预设的验权规则;若否,则调用验权单元802确认验权结果为验权失败;若是,则调用验权单元802判断安全标识的累计接收次数是否大于第一预设值,若大于,则调用验权单元802确认验权结果为验权失败,若不大于,调用验权单元802判断累计接收次数是否小于第二预设值;若小于,则调用验权单元802确认验权结果为验权失败,若不小于,则调用验权单元802确认验权结果为验权成功。
可选的,请参阅图11,API网关还包括:熔断单元807,熔断单元807用于若累计接收次数大于第一预设值,则在验权结果发送单元803向API服务器发送验权结果之后,熔断终端向第三接收单元801发送安全标识的链路。
可选的,请参阅图12,API网关还包括:第一预警信息生成单元808,第一预警信息生成单元808用于若累计接收次数小于第二预设值,则在调用验权单元802确认验权结果为验权失败之后,关生成第一预警信息,第一预警信息用于表示调用验权单元802对终端的API调用验权存在异常。
可选的,请参阅图13,API网关还包括:第二预警信息生成单元809,第二预警信息生成单元809用于在熔断单元808熔断终端向第三接收单元801发送安全标识的链路之后,生成第二预警信息,第二预警信息用于表示调用验权单元802对终端的API调用验权存在异常。
请参阅图14,本申请实施例第五方面还提供了一种API服务器。
一种API服务器,包括:
处理器901、存储器902、输入输出单元903、总线904;
处理器901与存储器902、输入输出单元903以及总线904相连;
处理器901具体执行如下操作:
接收终端发送的登录信息;
对登录信息进行验权;
确认验权成功;
根据登录信息获取对应的安全标识;
向API网关发送安全标识,以使得API网关根据安全标识对终端进行API调用验权;
接收API网关发送的验权结果;
向终端发送验权结果,以使得终端根据验权结果执行对应的服务。
请参阅图15,本申请实施例第六方面还提供了一种API网关。
一种API网关,包括:
处理器1001、存储器1002、输入输出单元1003、总线1004;
处理器1001与存储器1002、输入输出单元1003以及总线相连1004;
处理器1001具体执行如下操作:
接收API服务器发送的安全标识;
根据安全标识对终端进行API调用验权;
向API服务器发送验权结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (3)

1.一种应用程序接口API管理的方法,其特征在于,包括:
API服务器接收终端发送的登录信息;
所述API服务器对所述登录信息进行验权;
所述API服务器确认验权成功;
所述API服务器根据所述登录信息获取对应的安全标识;
所述API服务器向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;
所述API服务器接收所述API网关发送的验权结果;
所述API服务器向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务;
在所述API服务器接收终端发送的登录信息之前,还包括:
所述API服务器将所述终端的登录信息和API信息发送至API网关;所述API服务器接收所述API网关发送的安全标识,所述安全标识由所述API网关根据所述登录信息和所述API信息生成;所述安全标识表示所述API信息和终端的登录信息的对应关系;所述API服务器存储所述安全标识。
2.根据权利要求1所述的方法,其特征在于,所述API服务器对所述登录信息进行验权,包括:
所述API服务器对所述登录信息中所述终端的账号和密码进行验权,若所述账号和所述密码匹配,则确认验权成功。
3.一种应用程序接口API管理的装置,其特征在于,包括:
信息发送单元,登录信息发送单元用于在第一接收单元接收终端发送的登录信息之前,将终端的登录信息和API信息发送至API网关;
安全标识接收单元,安全标识接收单元用于接收API网关发送的安全标识,安全标识由API网关根据登录信息和API信息生成;安全标识表示API信息和终端的登录信息的对应关系;
安全标识存储单元,安全标识存储单元用于存储安全标识;
第一接收单元,用于接收终端发送的登录信息;
验权单元,用于对所述登录信息进行验权;
确认单元,用于确认验权成功;
获取单元,用于根据所述登录信息获取对应的安全标识;
第一发送单元,用于向API网关发送所述安全标识,以使得所述API网关根据所述安全标识对所述终端进行API调用验权;
第二接收单元,用于接收所述API网关发送的验权结果;
第二发送单元,用于向终端发送所述验权结果,以使得所述终端根据所述验权结果执行对应的服务。
CN202011109004.5A 2020-10-16 2020-10-16 一种应用程序接口api管理的方法以及相关装置 Active CN112367299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011109004.5A CN112367299B (zh) 2020-10-16 2020-10-16 一种应用程序接口api管理的方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011109004.5A CN112367299B (zh) 2020-10-16 2020-10-16 一种应用程序接口api管理的方法以及相关装置

Publications (2)

Publication Number Publication Date
CN112367299A CN112367299A (zh) 2021-02-12
CN112367299B true CN112367299B (zh) 2023-04-18

Family

ID=74508168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011109004.5A Active CN112367299B (zh) 2020-10-16 2020-10-16 一种应用程序接口api管理的方法以及相关装置

Country Status (1)

Country Link
CN (1) CN112367299B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156169A (zh) * 2017-12-28 2018-06-12 惠州Tcl家电集团有限公司 账号登录验证方法、***及计算机可读存储介质
CN109194760A (zh) * 2018-09-14 2019-01-11 深圳市佰仟金融服务有限公司 业务处理方法、网络***及服务器
CN110569638A (zh) * 2018-06-06 2019-12-13 中移(苏州)软件技术有限公司 一种api认证的方法、装置、存储介质及计算设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493280B (zh) * 2017-08-15 2020-10-09 中国联合网络通信集团有限公司 用户认证的方法、智能网关及认证服务器
CN108769041A (zh) * 2018-06-06 2018-11-06 深圳壹账通智能科技有限公司 登录方法、***、计算机设备和存储介质
CN108512784A (zh) * 2018-06-21 2018-09-07 珠海宏桥高科技有限公司 基于网关路由转发的鉴权认证方法
CN109639723A (zh) * 2019-01-10 2019-04-16 深圳市买买提信息科技有限公司 一种基于erp***的微服务访问方法及服务器
CN111030828B (zh) * 2019-12-19 2022-04-19 中国电建集团华东勘测设计研究院有限公司 微服务架构下的权限控制方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108156169A (zh) * 2017-12-28 2018-06-12 惠州Tcl家电集团有限公司 账号登录验证方法、***及计算机可读存储介质
CN110569638A (zh) * 2018-06-06 2019-12-13 中移(苏州)软件技术有限公司 一种api认证的方法、装置、存储介质及计算设备
CN109194760A (zh) * 2018-09-14 2019-01-11 深圳市佰仟金融服务有限公司 业务处理方法、网络***及服务器

Also Published As

Publication number Publication date
CN112367299A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN105491001B (zh) 一种安全通讯方法和装置
CN108200146A (zh) 一种轻量级的微服务架构实现方法
CN106714167A (zh) 一种认证方法及网络接入服务器
CN108366176B (zh) 一种终端应用的计费方法、装置及***
WO2011098660A1 (en) Method and apparatus for redirecting data traffic
CN107872445A (zh) 接入认证方法、设备和认证***
CN112202564B (zh) 交易传递方法、装置、电子设备及可读存储介质
US20230049810A1 (en) Data information obtaining method and apparatus
CN111404918A (zh) 一种云手机分布式服务应急认证方法、装置及***
CN104283678B (zh) 一种应用鉴权方法及设备
CN111404965B (zh) 一种实现移动端应用安全验证的方法
CN112367299B (zh) 一种应用程序接口api管理的方法以及相关装置
CN102624724B (zh) 安全网关及利用网关安全登录服务器的方法
CN106453119A (zh) 一种认证控制方法及装置
CN114389890B (zh) 一种用户请求的代理方法、服务器及存储介质
CN114095213B (zh) 一种网络访问控制策略管理***
CN114022150B (zh) 资源转移方法、装置、电子设备及存储介质
CN116233851A (zh) 一种基于sim卡的验证方法、装置、设备及介质
CN115529154A (zh) 登录管理方法、装置、电子装置及可读存储介质
CN115664761A (zh) 单点登录方法、装置、电子设备及可读存储介质
CN106487776B (zh) 一种保护机器类通信设备的方法、网络实体及***
CN108574657A (zh) 接入服务器的方法、装置、***以及计算设备和服务器
CN111163039B (zh) 一种认证方法、认证服务器、认证终端及认证设备
CN113573384A (zh) 一种终端及终端配网方法、装置、存储介质
CN114125838A (zh) Mec应用接入认证授权方法、***和mec业务管理平台

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
GR01 Patent grant
GR01 Patent grant