CN112016106A - 开放接口的认证调用方法、装置、设备和可读存储介质 - Google Patents

开放接口的认证调用方法、装置、设备和可读存储介质 Download PDF

Info

Publication number
CN112016106A
CN112016106A CN202010838989.9A CN202010838989A CN112016106A CN 112016106 A CN112016106 A CN 112016106A CN 202010838989 A CN202010838989 A CN 202010838989A CN 112016106 A CN112016106 A CN 112016106A
Authority
CN
China
Prior art keywords
application program
information
interface
open
service
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.)
Granted
Application number
CN202010838989.9A
Other languages
English (en)
Other versions
CN112016106B (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.)
Hangzhou Diji Intelligent Technology Co ltd
Original Assignee
Hangzhou Diji Intelligent 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 Hangzhou Diji Intelligent Technology Co ltd filed Critical Hangzhou Diji Intelligent Technology Co ltd
Priority to CN202010838989.9A priority Critical patent/CN112016106B/zh
Publication of CN112016106A publication Critical patent/CN112016106A/zh
Application granted granted Critical
Publication of CN112016106B publication Critical patent/CN112016106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例提供了一种开放接口的认证调用方法、装置、设备和可读存储介质,其中方法包括:接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息缓存应用程序的服务授权信息和密钥信息,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证时,调用相应的开放接口进行相应的服务。本申请实施例可以实现对开放接口调用请求的认证与开放接口提供的服务的解耦。

Description

开放接口的认证调用方法、装置、设备和可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种开放接口的认证调用方法、开放接口的认证调用装置、电子设备和计算机可读存储介质。
背景技术
随着计算机软件技术的快速发展,市场上出现了很多平台化产品,这些平台化产品通过提供对外的开放接口供第三方应用程序调用,为第三方应用程序提供特定功能的服务,例如应用程序编程接口(Application Programming Interface,简称API)。
这些开放接口在被应用程序调用时需要对接口调用请求进行认证,以避免开放接口被恶意用户肆意攻击,导致平台内网崩溃。现有对开放接口调用请求的认证通常与开放接口提供的开放的服务耦合,对开放的服务具有较强的侵入性,很难满足平台化产品对所提供的开放的服务及其开放接口的数量不断增长的需求。
发明内容
本申请实施例提供一种开放接口的认证调用方法、开放接口的认证调用装置、电子设备和计算机可读存储介质,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对开放的服务及其开放接口的灵活配置,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
第一个方面,提供了一种开放接口的认证调用方法,包括:
接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;
根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;
根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;
在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
第二个方面,提供了一种开放接口的认证调用装置,包括
鉴权模块,用于接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
路由网关,用于接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
第三个方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的开放接口的认证调用方法。
第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的开放接口的认证调用方法。
基于本申请实施例提供的开放接口的认证调用方法、开放接口的认证调用装置、电子设备和计算机可读存储介质,通过接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务;利用数据库对令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表进行缓存,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对应用程序灵活的配置开放的服务及其开放接口,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
附图说明
为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的开放接口的认证调用方法的一种实现方式的流程示意图;
图2为本申请实施例获取应用程序的服务授权信息和密钥信息的一种实现方式的流程示意图;
图3为本申请实施例对接口调用请求进行认证的一种实现方式的流程示意图;
图4为本申请实施例在接口调用请求通过认证后调用开放接口进行相应的服务的一种实现方式的流程示意图;
图5为本申请实施例对应用程序进行注册的一种实现方式的流程示意图;
图6为本申请实施例对开放的服务进行注册的一种实现方式的流程示意图;
图7为本申请实施例的开放接口的认证调用装置的一种组成结构示意图;
图8为本申请实施例的开放接口的认证调用装置的另一种组成结构示意图;
图9为本申请实施例的开放平台的一种实现方式的组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请一个或多个实施例中的技术方案,下面将结合本申请一个或多个实施例中的附图,对本申请一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
图1为本申请实施例的开放接口的认证调用方法的一种实现方式的流程示意图,图1所示的方法可以由开放接口的认证调用装置执行,开放接口的认证调用装置可以安装于开放平台,开放平台可以为中心化开放平台,或者分布式开放平台,本申请实施例对开放平台的类型不作限定,如图1所示,该开放接口的认证调用方法至少包括:
S102,接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息。
在本申请实施例中,应用程序(Application Program,简称APP)可以包括除了开放平台自带的应用程序外的第三方应用程序。应用程序的标识信息可以包括唯一标识一个应用程序的身份标识码(Dentity,简称ID)。应用程序在启动后可以将应用程序的标识信息发送至开放平台,开放平台接收应用程序的标识信息,例如开放平台可以通过调用获取令牌信息的接口,接收应用程序的标识信息,本申请实施例对开放平台接收应用程序的标识信息的实现方式不作限定。
在本申请实施例中,应用程序的服务授权信息可以包括开放平台提供的开放的服务授予应用程序的权限。应用程序的密钥信息可以包括应用程序的公钥信息和应用程序的私钥信息。在接收到应用程序的标识信息后,开放平台可以根据应用程序的标识信息从应用程序在开放平台的注册信息中,获取应用程序的服务授权信息和密钥信息,例如开放平台可以通过调用相应的接口,根据应用程序的标识信息,在开放平台的应用程序的注册信息中查找相应的应用程序的服务授权信息和密钥信息,本申请实施例对开放平台获取应用程序的服务授权信息和密钥信息的实现方式不作限定。
在本申请实施例中,令牌信息可以包括唯一标识应用程序的一次启动的信息。在应用程序启动后,开放平台在获取应用程序的服务授权信息和密钥信息后,可以根据应用程序的标识信息和时间戳动态地生成令牌信息,例如开放平台可以通过调用获取令牌信息的接口,接收应用程序的标识信息,并在被调用的鉴权的接口返回应用程序的服务授权信息和密钥信息后,根据应用程序的标识信息和时间戳动态地生成令牌信息,本申请实施例对开放平台生成令牌信息的实现方式不作限定。
S104,根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序。
在本申请实施例中,在生成令牌信息后,开放平台可以根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于内存数据库中,例如内存数据库可以为远程字典服务(Remote Dictionary Server,简称Redis)数据库,可以将令牌信息作为“键”(key),将应用程序的服务授权信息和密钥信息作为“值”(value)构成键值对缓存于Redis数据库中,本申请实施例对内存数据库的类型,和根据令牌信息将应用程序的服务授权信息和密钥信息缓存于内存数据库中的实现方式不作限定。
在本申请实施例中,在根据令牌信息将应用程序的服务授权信息和密钥信息缓存于数据库中后,开放平台将令牌信息返回应用程序,例如开放平台可以通过被调用的获取令牌信息的接口将令牌信息返回应用程序,本申请实施例对将令牌信息返回应用程序的实现方式不作限定。
S106,接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息。
在本申请实施例中,应用程序在接收到开放平台返回的令牌信息后,在调用开放平台的开放接口时,可以生成携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息的接口调用请求,并将接口调用请求发送至开放平台。可选地,接口调用请求还可以包括应用程序的标识信息、接口调用请求的唯一标识信息和版本号等,本申请实施例对接口调用请求携带的信息的类型不作限定。可选地,接口调用请求可以包括请求头和请求体,其中,请求头包括令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息,请求体包括请求传递的参数,本申请实施例对接口调用请求的实现形式不作限定。
S108,根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证。
在本申请实施例中,开放平台在接收到接口调用请求后,可以从内存数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,根据从内存数据库中获取的缓存的信息和接口调用请求携带的信息,可以对接口调用请求进行认证。可选地,可以根据从内存数据库中获取的缓存的令牌信息和接口调用请求携带的令牌信息,对应用程序的合法性进行认证;可以根据从内存数据库中获取的缓存的应用程序的服务授权信息、获得授权的服务的开放接口列表和接口调用请求携带的被调用的开放接口的信息,对应用程序对被调用的开放接口的权限进行认证;可以根据从内存数据库中获取的缓存的密钥信息和接口调用请求携带的应用程序的数字签名,对被调用的开放接口为加密接口进行认证;本申请实施例对接口调用请求进行认证的实现方式不作限定。
可选地,可以在根据从内存数据库中获取的缓存的令牌信息和接口调用请求携带的令牌信息,对应用程序的合法性进行认证后,根据令牌信息,从数据库中获取的缓存的应用程序的服务授权信息和密钥信息;可以在从数据库中获取缓存的应用程序的服务授权信息后,根据应用程序的服务授权信息,从数据库中缓存的开放平台开放的服务的开放接口列表中获取获得授权的服务的开放接口列表。
S110,在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
在本申请实施例中,在接口调用请求通过认证的情况下,开放平台可以调用相应的开放接口进行相应的服务,并将服务结果返回应用程序,在向应用程序返回服务结果的同时,开放平台还会将根据服务结果生成的数字签名返回应用程序。可选地,可以根据接口调用请求携带的哈希算法的类型对服务结果进行处理,得到服务结果的数字摘要,再根据从内存数据库中获取的缓存的应用程序的私钥信息对数字摘要进行处理,得到数字签名。
本申请实施例提供的开放接口的认证调用方法,通过接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务;利用数据库对令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表进行缓存,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对应用程序灵活的配置开放的服务及其开放接口,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
下面将结合图2至图6的实施例对本申请开放接口的认证调用方法进行详细说明。
图2为本申请实施例获取应用程序的服务授权信息和密钥信息的一种实现方式的流程示意图,如图2所示,接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息,至少包括:
S202,接收应用程序的标识信息和证书中心的公钥信息。
在本实施例中,应用程序的公钥信息在开放平台是以应用程序的数字证书的形式存储,由于应用程序的数字证书是根据证书中心的私钥信息加密得到,因此应用程序在将应用程序的标识信息发送至开放平台的同时,还需要将证书中心的公钥信息发送至开放平台,开放平台接收应用程序的标识信息和证书中心的公钥信息,例如开放平台可以通过调用获取令牌信息的接口,接收应用程序的标识信息和证书中心的公钥信息,本申请实施例对开放平台接收应用程序的标识信息和证书中心的公钥信息的实现方式不作限定。
S204,根据应用程序的标识信息,获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书。
在本实施例中,在接收到应用程序的标识信息和证书中心的公钥信息后,开放平台可以根据应用程序的标识信息从应用程序在开放平台的注册信息中,获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书,例如开放平台可以通过调用相应的接口,根据应用程序的标识信息,在开放平台的应用程序的注册信息中查找相应的应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书,本申请实施例对开放平台获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书的实现方式不作限定。
在一些可选的例子中,当开放平台的应用程序的注册信息存储于开放平台本地的注册中心时,开放平台可以通过调用注册中心的接口,根据应用程序的标识信息,在注册中心存储的应用程序的注册信息中查找相应的应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书,并将获取的应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书返回。在另一些可选的例子中,当开放平台的应用程序的注册信息存储于云端的数据库时,开放平台可以通过调用工作平台的接口,根据应用程序的标识信息,在云端的数据库中存储的应用程序的注册信息中查找相应的应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书,并将获取的应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书返回开放平台。
S206,根据证书中心的公钥信息,对应用程序的数字证书进行解密处理,获得应用程序的公钥信息。
在本实施例中,开放平台可以根据从应用程序接收到的证书中心的公钥信息,对从应用程序在开放平台的注册信息中获取的应用程序的数字证书进行解密处理,获得应用程序的公钥信息;本申请实施例对证书中心的私钥信息和证书中心的公钥信息的实现形式不作限定。
S208,根据应用程序的标识信息和时间戳生成令牌信息。
可选地,开放平台在根据接收到的应用程序的标识信息和证书中心的公钥信息,获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书后,可以根据应用程序的标识信息和时间戳动态地生成令牌信息;或者,也可以根据随机参数和时间戳动态地生成令牌信息;本申请实施例对开放平台生成令牌信息的实现方式不作限定。
本实施例通过将应用程序的公钥信息在开放平台以数字证书的形式进行存储,可以利用数字证书保证应用程序的公钥信息的安全性,从而进一步保证应用程序所调用的开放接口传输数据的安全性。
图3为本申请实施例对接口调用请求进行认证的一种实现方式的流程示意图,如图3所示,根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证,至少包括:
S301,拦截接口调用请求,从数据库中获取缓存的令牌信息。
S302,判断从数据库中获取的令牌信息与接口调用请求携带的令牌信息是否一致。
若从数据库中获取的令牌信息与接口调用请求携带的令牌信息一致,则执行S303;否则,返回相应的错误提示。
在本实施例中,开放平台可以通过拦截器接收应用程序发送的接口调用请求。可选地,拦截器可以包括应用鉴权拦截器,开放平台接收的接口调用请求可以首先被应用鉴权拦截器拦截,应用鉴权拦截器在拦截接口调用请求后,可以从内存数据库中获取缓存的令牌信息,通过将从数据库中获取的令牌信息与接口调用请求携带的令牌信息进行比对,判断从数据库中获取的令牌信息与接口调用请求携带的令牌信息是否一致,若从数据库中获取的令牌信息与接口调用请求携带的令牌信息一致,则表明应用程序合法;否则,表明应用程序不合法,返回相应的错误提示。
S303,从数据库中获取缓存的应用程序的服务授权信息和获得授权的服务的开放接口列表。
S304,根据应用程序的服务授权信息和获得授权的服务的开放接口列表,判断应用程序对接口调用请求携带的开放接口是否具有调用权限。
若应用程序对接口调用请求携带的开放接口具有调用权限,则执行S305;否则,返回相应的错误提示。
可选地,拦截器还可以包括接口权限拦截器,在应用鉴权拦截器对应用程序的合法性进行认证后,接口权限拦截器可以根据令牌信息从内存数据库中获取缓存的应用程序的服务授权信息和获得授权的服务的开放接口列表,根据应用程序的服务授权信息和获得授权的服务的开放接口列表,判断应用程序对接口调用请求携带的开放接口是否具有调用权限,若应用程序对接口调用请求携带的开放接口具有调用权限,则表明开放接口可以被应用程序调用;否则,表明开放接口不可以被应用程序调用,返回相应的错误提示。
S305,从数据库中获取缓存的应用程序的公钥信息。
S306,根据应用程序的公钥信息和接口调用请求携带的哈希算法的类型,对接口调用请求携带的应用程序的数字签名进行验证,判断接口调用请求携带的开放接口是否为数据加密接口。
若接口调用请求携带的开放接口为数据加密接口,则接口调用请求通过认证;否则,返回相应的错误提示。
可选地,拦截器还可以包括签名加密拦截器,在接口权限拦截器对应用程序对被调用的开放接口的权限进行认证后,签名加密拦截器可以根据令牌信息从内存数据库中获取缓存的应用程序的公钥信息,根据应用程序的公钥信息和接口调用请求携带的哈希算法的类型,对接口调用请求携带的应用程序的数字签名进行验证,判断接口调用请求携带的开放接口是否为数据加密接口,若开放接口为数据加密接口,则表明接口调用请求通过认证;否则,表明接口调用请求未通过认证,返回相应的错误提示。
可选地,拦截器还可以包括访问限流拦截器,访问限流拦截器可以设置于应用鉴权拦截器与接口权限拦截器之间,在访问限流拦截器中可以预设流量阈值,访问限流拦截器可以通过拦截接口调用请求,判断预设时间内,例如1小时或者1天内,对开放接口的访问次数是否大于预设流量阈值,若预设时间内对开放接口的访问次数大于预设流量阈值,则表明对开放接口的访问异常,返回相应的错误提示;否则,表明对开放接口的访问正常,进行后续操作。
可选地,拦截器还可以包括统一错误拦截器,统一错误拦截器拦截其它拦截器返回的相应的错误提示,封装成统一的输出格式返回应用程序。除了上面所列举的拦截器的形式外,根据业务需求等在开放平台还可以配置其它形式的拦截器,本申请实施例对此不作限定。
本实施例通过拦截器拦截应用程序的接口调用请求,根据从数据库中获取的缓存信息,对应用程序的接口调用请求进行认证,可以通过对拦截器的动态配置满足不同开放接口和不同应用场景等的不同需求,提高了开放平台的适应性和可扩展性。
图4为本申请实施例在接口调用请求通过认证后调用开放接口进行相应的服务的一种实现方式的流程示意图,如图4所示,在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务,至少包括:
S402,在接口调用请求通过认证的情况下,根据开放的服务的注册信息,路由接口调用请求携带的开放接口的地址,进行相应的服务得到服务结果,并根据接口调用请求携带的哈希算法的类型对服务结果进行处理得到数字摘要,返回服务结果和数字摘要。
可选地,在接口调用请求通过认证的情况下,开放平台可以通过路由器根据路由器存储的开放的服务的注册信息,路由接口调用请求携带的开放接口的地址,使接口调用请求到达该地址,根据接口调用请求携带的被调用的开放接口进行相应的服务,得到服务结果,并根据接口调用请求携带的哈希算法的类型对服务结果进行处理得到数字摘要,返回服务结果和数字摘要。
S404,拦截返回的服务结果和数字摘要,从数据库中获取缓存的应用程序的私钥信息和应用程序的数字证书,根据应用程序的私钥信息和数字摘要生成数字签名,将数字签名、应用程序的数字证书和服务结果返回应用程序。
可选地,在开放平台通过拦截器接收应用程序发送的接口调用请求的情况下,拦截器还可以包括返回结果拦截器,返回结果拦截器可以对返回的服务结果和数字摘要进行拦截,并从数据库中获取缓存的应用程序的私钥信息和应用程序的数字证书,根据应用程序的私钥信息和数字摘要生成数字签名,将数字签名、应用程序的数字证书和服务结果返回应用程序。
本实施例在通过拦截器拦截应用程序的接口调用请求,根据从数据库中获取的缓存信息,对应用程序的接口调用请求进行认证的基础上,通过拦截器拦截返回的服务结果,根据从数据库中获取的缓存信息,对服务结果进行数字签名,并附上数字证书,可以保证返回的服务结果的安全性,保证开放接口使用的安全性。
图5为本申请实施例对应用程序进行注册的一种实现方式的流程示意图,如图5所示,在接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息之前,还包括:
S502,对应用程序进行注册处理,获得应用程序的注册信息。
可选地,在将应用程序安装到开放平台的过程中,可以在应用程序安装的最后一步对应用程序进行注册处理,获得应用程序的注册信息,例如开放平台可以通过调用应用注册接口对应用程序进行注册处理,获得应用程序的注册信息,本申请实施例对开放平台对应用程序进行注册处理的实现方式不作限定。可选地,开放平台可以通过设置注册中心对应用程序进行注册及管理,注册中心可以根据所注册的应用程序生成应用程序注册表,以便于对应用程序进行管理。
S504,在本地和/或云端对应用程序的注册信息进行存储;应用程序的注册信息包括应用程序的标识信息、应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书。
可选地,开放平台在获得应用程序的注册信息后,可以在本地和/或云端对应用程序的注册信息进行存储,例如将应用程序的注册信息存储于开放平台本地的注册中心,或者将应用程序的注册信息存储于云端的数据库。应用程序的注册信息可以包括应用程序的标识信息、应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书,还可以包括应用程序的基本信息。
可选地,应用程序的私钥信息和应用程序的数字证书可以由应用程序的软件开发工具包(Software Development Kit,简称SDK)生成,开放平台可以从应用程序的SDK获取应用程序的私钥信息和应用程序的数字证书。
可选地,应用程序的SDK还可以向开放平台提供应用程序生命周期的接口,供开放平台调用,实现对应用程序的管理。例如,应用程序的SDK可以向开放平台提供应用程序生命周期的init接口、securlty接口、stop接口和destroy接口,其中,开放平台通过调用init接口可以对应用程序进行初始化,开放平台通过调用securlty接口可以对应用程序进行安全检测,开放平台通过调用stop接口可以停止应用程序,开放平台通过调用destroy接口可以销毁应用程序。
可选地,开放平台通过调用应用卸载接口,可以对安装于开放平台的应用程序进行卸载处理,同时删除存储的应用程序的注册信息。
本实施例通过在应用程序的注册过程中,对应用程序的标识信息、应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书进行存储,可以在应用程序调用开放平台的开放接口时,为接口调用请求的认证和对开放接口的调用提供支持,保证对开放接口调用的实现。
图6为本申请实施例对开放的服务进行注册的一种实现方式的流程示意图,如图6所示,在接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息之前,还包括:
S602,对开放的服务进行注册处理,获得开放的服务的注册信息。
可选地,开放的服务可以通过在开放平台进行注册处理,使开放平台可以提供相应的服务,例如开放平台可以通过调用服务注册接口对开放的服务进行注册处理,获得开放的服务的注册信息,本申请实施例对开放平台对开放的服务进行注册处理的实现方式不作限定。
S604,获取开放的服务的开放接口列表,对开放接口列表中的接口进行注册处理。
可选地,开放的服务的SDK可以提供开放的服务的开放接口列表,开放接口列表也可以称为接口访问权限表,开放平台可以从开放的服务的SDK获取开放的服务的开放接口列表,对开放接口列表中的接口进行注册处理,例如开放平台可以通过调用开放接口注册接口对开放接口列表中的接口进行注册处理,本申请实施例对开放平台对开放接口列表中的接口进行注册处理的实现方式不作限定。可选地,开放的服务的SDK还可以为开放平台提供用于服务信息加载的配置文件,开放的服务的接口等,本申请实施例对此不做限定。
S606,在本地和/或云端对开放的服务的注册信息和开放的服务的开放接口列表进行存储。
可选地,开放平台在获得开放的服务的注册信息和开放的服务的开放接口列表后,可以在本地和/或云端对开放的服务的注册信息和开放的服务的开放接口列表进行存储,例如将开放的服务的注册信息和开放的服务的开放接口列表存储于开放平台本地的注册中心,或者将开放的服务的注册信息和开放的服务的开放接口列表存储于云端的数据库。
S608,将开放的服务的注册信息存储于路由器中;将开放的服务的开放接口列表缓存于数据库中。
可选地,开放平台在将开放的服务的注册信息存储于本地和/或云端后,还可以将开放的服务的注册信息存储于路由器中,例如开放平台可以通过调用动态路由刷新接口将开放的服务的注册信息存储于路由器中,为路由器提供服务的全路径信息以便于路由寻址,本申请实施例对将开放的服务的注册信息存储于路由器中的实现方式不作限定。
可选地,开放平台在将开放的服务的开放接口列表存储于本地和/或云端后,还可以将开放的服务的开放接口列表缓存于内存数据库中,以便于在对应用程序的接口调用请求进行认证时获取。
可选地,开放平台可以通过设置注册中心对开放的服务及其开放接口进行注册及管理,注册中心可以根据所注册的开放的服务生成开放服务注册表,以便于对开放的服务进行管理。
本实施例通过在开放的服务的注册过程中,对开放接口列表中的接口进行注册,服务的注册信息和开放的服务的开放接口列表进行存储,以及将将开放的服务的注册信息存储于路由器中;将开放的服务的开放接口列表缓存于数据库中,可以在应用程序调用开放平台的开放接口时,为接口调用请求的认证和对开放接口的调用提供支持,保证对开放接口调用的实现。
对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种开放接口的认证调用装置,该开放接口的认证调用装置可以安装于开放平台,开放平台可以为中心化开放平台,或者分布式开放平台,本申请实施例对开放平台的类型不作限定,图7为本申请实施例的开放接口的认证调用装置的一种组成结构示意图,该开放接口的认证调用装置用于执行图1描述的开放接口的认证调用方法,如图7所示,该开放接口的认证调用装置至少包括:鉴权模块710和路由网关720,其中,鉴权模块710与路由网关720连接。
鉴权模块710,用于接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回所述应用程序。
在本实施例中,关于鉴权模块710的说明可以参见图1中关于S102和S104的说明,故此处不再敷述。
路由网关720,用于接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
在本实施例中,关于路由网关720的说明可以参见图1中关于S108和S110的说明,故此处不再敷述。
本申请实施例提供的开放接口的认证调用装置,通过接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务;利用数据库对令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表进行缓存,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对应用程序灵活的配置开放的服务及其开放接口,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
可选地,鉴权模块710,用于接收应用程序的标识信息和证书中心的公钥信息;根据应用程序的标识信息,获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书;根据证书中心的公钥信息,对应用程序的数字证书进行解密处理,获得应用程序的公钥信息;根据应用程序的标识信息和时间戳生成令牌信息。
可选地,鉴权模块710,用于根据应用程序的标识信息,从本地和/或云端存储的应用程序的注册信息中,获取应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书。
可选地,路由网关720,用于拦截接口调用请求,从数据库中获取缓存的令牌信息,判断与接口调用请求携带的令牌信息是否一致;在令牌信息一致的情况下,从数据库中获取缓存的应用程序的服务授权信息和获得授权的服务的开放接口列表,判断对接口调用请求携带的开放接口是否具有调用权限;在对开放接口具有调用权限的情况下,从数据库中获取缓存的应用程序的公钥信息,根据应用程序的公钥信息和接口调用请求携带的哈希算法的类型,对接口调用请求携带的应用程序的数字签名进行验证,判断接口调用请求携带的开放接口是否为数据加密接口;在开放接口为数据加密接口的情况下,接口调用请求通过认证。
可选地,路由网关720,用于在接口调用请求通过认证的情况下,根据开放的服务的注册信息,路由接口调用请求携带的开放接口的地址,进行相应的服务得到服务结果,并根据接口调用请求携带的哈希算法的类型对服务结果进行处理得到数字摘要,返回服务结果和数字摘要;拦截返回的服务结果和数字摘要,从数据库中获取缓存的应用程序的私钥信息和应用程序的数字证书,根据应用程序的私钥信息和数字摘要生成数字签名,将数字签名、应用程序的数字证书和服务结果返回应用程序。
可选地,如图8所示,图8为本申请实施例的开放接口的认证调用装置的另一种组成结构示意图,该开放接口的认证调用装置至少包括:鉴权模块710、路由网关720和注册模块730,其中,鉴权模块710、路由网关720与注册模块730相互连接。
注册模块730,用于对应用程序进行注册处理,获得应用程序的注册信息;在本地和/或云端对应用程序的注册信息进行存储;应用程序的注册信息包括应用程序的标识信息、应用程序的服务授权信息、应用程序的私钥信息和应用程序的数字证书。
可选地,注册模块730,还用于对开放的服务进行注册处理,获得开放的服务的注册信息;获取开放的服务的开放接口列表,对开放接口列表中的接口进行注册处理;在本地和/或云端对开放的服务的注册信息和开放的服务的开放接口列表进行存储;将开放的服务的注册信息存储于路由器中,将开放的服务的开放接口列表缓存于数据库中。
图9为本申请实施例的开放平台的一种实现方式的组成结构示意图。如图9所示,开放平台包括开放接口的认证调用装置910、开放的服务920和应用程序930。其中,
开放接口的认证调用装置910包括路由网关、鉴权中心和注册中心。其中,路由网关包括可以动态配置的拦截器和路由器,拦截器包括访问流量拦截器、应用鉴权拦截器、接口权限拦截器、签名加密拦截器、返回结果拦截器和统一错误拦截器。鉴权中心包括应用安装安全校验模块和应用访问功能鉴权模块。注册中心包括服务注册模块、应用注册模块和接口注册模块,其中服务注册模块又包括开放服务管理单元和自动化对接路由网关单元,应用注册模块又包括应用信息管理单元、应用鉴权对接功能授权单元和应用生命周期管理单元,接口注册模块又包括开放接口管理单元和接口信息中间件缓存单元。
开放的服务920包括公共服务、安全服务、运维服务、数据服务、设备服务、算法服务、数据服务、存储服务等。
应用程序930包括智慧城市应用程序、智慧建筑应用程序、智慧物业应用程序、智慧交通应用程序、智慧园区应用程序、智慧农业应用程序、工业互联网应用程序、智慧冷链应用程序等。
对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现以下流程:
接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;
根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;
根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;
在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
本申请实施例提供的电子设备,通过接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务;利用数据库对令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表进行缓存,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对应用程序灵活的配置开放的服务及其开放接口,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机可执行指令,该计算机可执行指令在被执行时实现以下流程:
接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;
根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;
根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;
在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
本申请实施例提供的计算机可读存储介质,通过接收应用程序的标识信息,获取应用程序的服务授权信息和密钥信息,生成令牌信息;根据令牌信息,将应用程序的服务授权信息和密钥信息缓存于数据库中,并将令牌信息返回应用程序;接收应用程序的接口调用请求,接口调用请求携带令牌信息、应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据接口调用请求,从数据库中获取缓存的令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表,对接口调用请求进行认证;在接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务;利用数据库对令牌信息、应用程序的服务授权信息和密钥信息、以及获得授权的服务的开放接口列表进行缓存,可以使对开放接口调用请求的认证与开放接口提供的开放的服务解耦,实现对应用程序灵活的配置开放的服务及其开放接口,满足平台化产品对于所提供的开放的服务及其开放接口的数量不断增长的需求。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。

Claims (10)

1.一种开放接口的认证调用方法,其特征在于,包括:
接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;
根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;
根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;
在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
2.根据权利要求1所述的方法,其特征在于,所述接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息,包括:
接收所述应用程序的标识信息和证书中心的公钥信息;
根据所述应用程序的标识信息,获取所述应用程序的服务授权信息、所述应用程序的私钥信息和所述应用程序的数字证书;
根据所述证书中心的公钥信息,对所述应用程序的数字证书进行解密处理,获得所述应用程序的公钥信息;
根据所述应用程序的标识信息和时间戳生成所述令牌信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述应用程序的标识信息,获取所述应用程序的服务授权信息、所述应用程序的私钥信息和所述应用程序的数字证书,包括:
根据所述应用程序的标识信息,从本地和/或云端存储的应用程序的注册信息中,获取所述应用程序的服务授权信息、所述应用程序的私钥信息和所述应用程序的数字证书。
4.根据权利要求3所述的方法,其特征在于,所述根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证,包括:
拦截所述接口调用请求,从所述数据库中获取缓存的所述令牌信息,判断与所述接口调用请求携带的所述令牌信息是否一致;
在所述令牌信息一致的情况下,从所述数据库中获取缓存的所述应用程序的服务授权信息和获得所述授权的服务的开放接口列表,判断对所述接口调用请求携带的所述开放接口是否具有调用权限;
在对所述开放接口具有调用权限的情况下,从所述数据库中获取缓存的所述应用程序的公钥信息,根据所述应用程序的公钥信息和所述接口调用请求携带的所述哈希算法的类型,对所述接口调用请求携带的所述应用程序的数字签名进行验证,判断所述接口调用请求携带的所述开放接口是否为数据加密接口;
在所述开放接口为数据加密接口的情况下,所述接口调用请求通过认证。
5.根据权利要求4所述的方法,其特征在于,所述在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务,包括:
在所述接口调用请求通过认证的情况下,根据开放的服务的注册信息,路由所述接口调用请求携带的所述开放接口的地址,进行相应的服务得到服务结果,并根据所述接口调用请求携带的所述哈希算法的类型对所述服务结果进行处理得到数字摘要,返回所述服务结果和所述数字摘要;
拦截返回的所述服务结果和所述数字摘要,从所述数据库中获取缓存的所述应用程序的私钥信息和所述应用程序的数字证书,根据所述应用程序的私钥信息和所述数字摘要生成数字签名,将所述数字签名、所述应用程序的数字证书和所述服务结果返回所述应用程序。
6.根据权利要求5所述的方法,其特征在于,所述接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息之前,还包括:
对所述应用程序进行注册处理,获得所述应用程序的注册信息;
在本地和/或云端对所述应用程序的注册信息进行存储;
所述应用程序的注册信息包括所述应用程序的标识信息、所述应用程序的服务授权信息、所述应用程序的私钥信息和所述应用程序的数字证书。
7.根据权利要求6所述的方法,其特征在于,所述接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息之前,还包括:
对开放的服务进行注册处理,获得所述开放的服务的注册信息;
获取所述开放的服务的开放接口列表,对所述开放接口列表中的接口进行注册处理;
在本地和/或云端对所述开放的服务的注册信息和所述开放的服务的开放接口列表进行存储;
将所述开放的服务的注册信息存储于路由器中,将所述开放的服务的开放接口列表缓存于所述数据库中。
8.一种开放接口的认证调用装置,其特征在于,包括
鉴权模块,用于接收应用程序的标识信息,获取所述应用程序的服务授权信息和密钥信息,生成令牌信息;根据所述令牌信息,将所述应用程序的服务授权信息和密钥信息缓存于数据库中,并将所述令牌信息返回所述应用程序;
路由网关,用于接收所述应用程序的接口调用请求,所述接口调用请求携带所述令牌信息、所述应用程序的数字签名、哈希算法的类型和被调用的开放接口的信息;根据所述接口调用请求,从所述数据库中获取缓存的所述令牌信息、所述应用程序的服务授权信息和密钥信息、以及获得所述授权的服务的开放接口列表,对所述接口调用请求进行认证;在所述接口调用请求通过认证的情况下,调用相应的开放接口进行相应的服务。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如权利要求1-7任一项所述的开放接口的认证调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的开放接口的认证调用方法。
CN202010838989.9A 2020-08-19 2020-08-19 开放接口的认证调用方法、装置、设备和可读存储介质 Active CN112016106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010838989.9A CN112016106B (zh) 2020-08-19 2020-08-19 开放接口的认证调用方法、装置、设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010838989.9A CN112016106B (zh) 2020-08-19 2020-08-19 开放接口的认证调用方法、装置、设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112016106A true CN112016106A (zh) 2020-12-01
CN112016106B CN112016106B (zh) 2023-05-26

Family

ID=73505143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010838989.9A Active CN112016106B (zh) 2020-08-19 2020-08-19 开放接口的认证调用方法、装置、设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112016106B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637338A (zh) * 2020-12-22 2021-04-09 广州技象科技有限公司 一种物联网节点服务管理方法、装置、设备及存储介质
CN113076555A (zh) * 2021-03-29 2021-07-06 上海明略人工智能(集团)有限公司 一种基于开放接口通讯的安全认证方法与系统
CN113722726A (zh) * 2021-02-09 2021-11-30 京东数字科技控股股份有限公司 基于软硬件协同的加解密方法及系统
CN114866274A (zh) * 2022-03-18 2022-08-05 中国建设银行股份有限公司 基于代理服务的授权认证方法、装置及设备
WO2023024538A1 (zh) * 2021-08-27 2023-03-02 华为技术有限公司 一种保护应用程序的方法、装置和系统
CN116232720A (zh) * 2023-03-02 2023-06-06 国网河南省电力公司信息通信分公司 一种api接口加密认证方法及存储装置
CN117235708A (zh) * 2023-11-13 2023-12-15 紫光同芯微电子有限公司 应用程序运行时的接口授权调用方法、装置、系统和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110162057A1 (en) * 2009-12-31 2011-06-30 Microsoft Corporation Access control based on user and service
US8977857B1 (en) * 2012-02-10 2015-03-10 Google Inc. System and method for granting access to protected information on a remote server
CN108476226A (zh) * 2016-12-22 2018-08-31 华为技术有限公司 应用程序授权方法、终端及服务器
CN109618341A (zh) * 2018-12-27 2019-04-12 无锡天脉聚源传媒科技有限公司 一种数字签名认证方法、系统、装置以及存储介质
CN109726025A (zh) * 2018-12-29 2019-05-07 北京神舟航天软件技术有限公司 一种基于api网关的api接口访问方法
CN110121873A (zh) * 2017-10-23 2019-08-13 华为技术有限公司 一种访问令牌管理方法、终端和服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110162057A1 (en) * 2009-12-31 2011-06-30 Microsoft Corporation Access control based on user and service
US8977857B1 (en) * 2012-02-10 2015-03-10 Google Inc. System and method for granting access to protected information on a remote server
CN108476226A (zh) * 2016-12-22 2018-08-31 华为技术有限公司 应用程序授权方法、终端及服务器
CN110121873A (zh) * 2017-10-23 2019-08-13 华为技术有限公司 一种访问令牌管理方法、终端和服务器
CN109618341A (zh) * 2018-12-27 2019-04-12 无锡天脉聚源传媒科技有限公司 一种数字签名认证方法、系统、装置以及存储介质
CN109726025A (zh) * 2018-12-29 2019-05-07 北京神舟航天软件技术有限公司 一种基于api网关的api接口访问方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IEEE: "24765-2010 - ISO/IEC/IEEE International Standard - Systems and software engineering -- Vocabulary", 《IEEE》 *
宋杨等: "物联网设备管理系统的设计与实现", 《单片机与嵌入式系统应用》 *
潘爱民等: "物联网操作系统的研究与实践", 《电子产品世界》 *
王弟: "云环境下基于OAuth2.0的认证授权SaaS架构研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637338A (zh) * 2020-12-22 2021-04-09 广州技象科技有限公司 一种物联网节点服务管理方法、装置、设备及存储介质
CN113722726A (zh) * 2021-02-09 2021-11-30 京东数字科技控股股份有限公司 基于软硬件协同的加解密方法及系统
CN113722726B (zh) * 2021-02-09 2024-04-05 京东科技控股股份有限公司 基于软硬件协同的加解密方法及系统
CN113076555A (zh) * 2021-03-29 2021-07-06 上海明略人工智能(集团)有限公司 一种基于开放接口通讯的安全认证方法与系统
CN113076555B (zh) * 2021-03-29 2024-02-06 上海明略人工智能(集团)有限公司 一种基于开放接口通讯的安全认证方法与系统
WO2023024538A1 (zh) * 2021-08-27 2023-03-02 华为技术有限公司 一种保护应用程序的方法、装置和系统
CN114866274A (zh) * 2022-03-18 2022-08-05 中国建设银行股份有限公司 基于代理服务的授权认证方法、装置及设备
CN114866274B (zh) * 2022-03-18 2024-04-26 中国建设银行股份有限公司 基于代理服务的授权认证方法、装置及设备
CN116232720A (zh) * 2023-03-02 2023-06-06 国网河南省电力公司信息通信分公司 一种api接口加密认证方法及存储装置
CN116232720B (zh) * 2023-03-02 2024-01-16 国网河南省电力公司信息通信分公司 一种api接口加密认证方法及存储装置
CN117235708A (zh) * 2023-11-13 2023-12-15 紫光同芯微电子有限公司 应用程序运行时的接口授权调用方法、装置、系统和介质
CN117235708B (zh) * 2023-11-13 2024-03-26 紫光同芯微电子有限公司 应用程序运行时的接口授权调用方法、装置、系统和介质

Also Published As

Publication number Publication date
CN112016106B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN112016106B (zh) 开放接口的认证调用方法、装置、设备和可读存储介质
CN112333198B (zh) 安全跨域登录方法、系统及服务器
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
EP1776799B1 (en) Enhanced security using service provider authentication
CN110071806B (zh) 基于接口校验的数据处理的方法和系统
CN112165454B (zh) 访问控制方法、装置、网关和控制台
CN111800426A (zh) 应用程序中原生代码接口的访问方法、装置、设备及介质
CN111935123B (zh) 一种检测dns欺骗攻击的方法、设备、存储介质
CN111783051A (zh) 身份认证方法及装置和电子设备
CN111399980A (zh) 容器编排器的安全认证方法、装置及系统
CN112448930A (zh) 账号注册方法、装置、服务器及计算机可读存储介质
CN113792345A (zh) 一种数据访问控制方法及装置
CN110602051B (zh) 基于共识协议的信息处理方法及相关装置
CN116032627A (zh) 一种基于微服务架构的统一认证授权方法及装置
CN111753308B (zh) 一种信息验证方法及电子设备
Fenzl et al. Collaborative Security Patterns for Automotive Electrical/Electronic Architectures
CN111651740B (zh) 一种面向分布式智能嵌入式系统的可信平台共享系统
CN114861144A (zh) 基于区块链的数据权限处理方法
CN116628696A (zh) 一种基于代理客户端的漏洞检测方法及相关设备
CN112822217A (zh) 一种服务器访问方法、装置、设备和存储介质
CN104580161A (zh) 一种基于安全标识文件的软件实名认证方法和装置
CN112134705A (zh) 数据鉴权的方法及装置、存储介质和电子装置
AU2013336757A1 (en) Method for downloading at least one software component onto a computing device, and associated computer program product, computing device and computer system
US11977620B2 (en) Attestation of application identity for inter-app communications
CN115242440B (zh) 一种基于区块链的物联网设备可信调用方法、装置及设备

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Open interface authentication call methods, devices, devices, and readable storage media

Effective date of registration: 20230718

Granted publication date: 20230526

Pledgee: Hangzhou United Rural Commercial Bank Co.,Ltd. Gudang Sub branch

Pledgor: Hangzhou Diji Intelligent Technology Co.,Ltd.

Registration number: Y2023980048826

PE01 Entry into force of the registration of the contract for pledge of patent right