CN110224974B - 基于第三方接入的接口鉴权方法及相关设备 - Google Patents
基于第三方接入的接口鉴权方法及相关设备 Download PDFInfo
- Publication number
- CN110224974B CN110224974B CN201910344191.6A CN201910344191A CN110224974B CN 110224974 B CN110224974 B CN 110224974B CN 201910344191 A CN201910344191 A CN 201910344191A CN 110224974 B CN110224974 B CN 110224974B
- Authority
- CN
- China
- Prior art keywords
- party
- interface
- authentication
- white list
- local cache
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本申请涉及信息安全领域,本申请公开了一种基于第三方接入的接口鉴权方法及相关设备,所述方法包括:创建第三方白名单列表;接收第三方的接口调用请求,检测所述第三方是否在所述第三方白名单列表中,并检测所述接口调用请求对应的接口是否为鉴权接口,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。本申请通过鉴权成功时缓存与页面关联的鉴权成功信息以及与域名关联的鉴权成功信息,可以减少鉴权次数,提高鉴权效率。
Description
技术领域
本申请涉及信息安全领域,特别涉及一种基于第三方接入的接口鉴权方法及相关设备。
背景技术
Jsapi接口是第三方开发者接入HR-X方并为应用者提供一些原生控件的能力,帮助开发者使用获取手机相机图片、开启手机GPS并获取定位信息、手势验证、打开和关闭H5页面、拷贝文本、添加联系人等一些HR-X特有的能力,带给应用者接近原生代码的体验。HR-X提供的jsapi接口有很多是手机的基础能力,对这些api接口的调用不需要进行鉴权,直接调用即可。对于一些HR-X业务相关、安全相关的jsapi接口调用,需要开发者先进行鉴权后再调用。
当第三方调用jsapi接口的时候,由于会发生在相同第三方域名的不同页面之间跳转以及在不同的第三方之间跳转的情况,在上述情况下,会发生重复的鉴权的情形,导致鉴权效率降低。
发明内容
本申请的目的在于针对现有技术的不足,提供一种基于第三方接入的接口鉴权方法及相关设备,通过鉴权成功时缓存与页面关联的鉴权成功信息以及与域名关联的鉴权成功信息,可以减少鉴权次数,提高鉴权效率。
为达到上述目的,本申请的技术方案提供一种基于第三方接入的接口鉴权方法及相关设备。
本申请公开了一种基于第三方接入的接口鉴权方法,包括以下步骤:
创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;
当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;
当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;
当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
较佳地,所述当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,包括:
当收到第三方的接口调用请求时,向后台数据库中获取第三方白名单列表;
在所述第三方白名单列表中查询与所述第三方对应的白名单;
当在所述第三方白名单列表查询到与所述第三方对应的白名单时,向所述第三方开放与所述接口调用请求对应的接口。
较佳地,所述当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口,包括:
当检测到所述第三方不在所述第三方白名单列表中时,解析所述接口调用请求,获得所述第三方本次需要调用的接口列表;
在所述接口列表中查询是否存在需要鉴权的接口,当在所述接口列表中查询到存在至少一个需要鉴权的接口时,则所述接口调用请求对应的接口为鉴权接口。
较佳地,所述当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,包括:
当检测到所述接口调用请求对应的接口是鉴权接口时,向所述第三方发送签名信息请求,用以获取所述第三方的加密的签名信息;
当收到所述第三方的加密的签名信息后,对所述第三方的加密的签名信息进行解密,获得解密的签名信息,并对所述解密的签名信息进行解析,获得与所述第三方对应的鉴权类型;
根据所述与所述第三方对应的鉴权类型查询本地缓存中是否存在与所述第三方对应的鉴权成功信息。
较佳地,所述当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息后,包括:
当查询到本地缓存中存在与所述第三方对应的鉴权成功信息时,向所述第三方开放与所述接口调用请求对应的接口;
根据所述与所述第三方对应的鉴权成功信息更新所述第三方白名单列表。
较佳地,所述当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,向后台发起第三方鉴权请求,并将第三方的签名信息发送给后台;
当所述后台收到所述第三方鉴权请求后,根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
较佳地,所述根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
将获取的第三方的签名信息与存储在后台的第三方的签名信息进行比对;
如果比对一致,则对所述第三方的鉴权成功,返回与所述第三方对应的鉴权成功信息,所述鉴权成功信息包括鉴权类型,并将所述鉴权成功信息存储在本地缓存中。
本申请还公开了一种基于第三方接入的接口鉴权装置,所述装置包括:
白名单创建模块:设置为创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;
第一检测模块:设置为当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;
第二检测模块:设置为当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;
鉴权模块:设置为当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
本申请还公开了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行上述所述接口鉴权方法的步骤。
本申请还公开了一种存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述接口鉴权方法的步骤。
本申请的有益效果是:本申请通过鉴权成功时缓存与页面关联的鉴权成功信息以及与域名关联的鉴权成功信息,可以减少鉴权次数,提高鉴权效率。
附图说明
图1为本申请第一个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图2为本申请第二个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图3为本申请第三个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图4为本申请第四个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图5为本申请第五个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图6为本申请第六个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图7为本申请第七个实施例的一种基于第三方接入的接口鉴权方法的流程示意图;
图8为本申请实施例的一种基于第三方接入的接口鉴权装置结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本申请第一个实施例的一种基于第三方接入的接口鉴权方法流程如图1所示,本实施例包括以下步骤:
步骤s101,创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;
具体的,白名单的作用是在收到第三方的接口调用请求时可以跨过鉴权步骤直接使用需要鉴权的接口,所述第三方白名单列表可以包含多个第三方的信息,所述白名单可以是第三方的名称,也可以是第三方的域名。
具体的,所述第三方白名单列表的初始状态可以为空,即初始的第三方白名单列表中不包含任何第三方的信息,并在后续进行更新和添加,例如在对第三方鉴权成功后将所述第三方的信息添加到所述第三方白名单列表中;也可以在初始状态下写入部分第三方信息,例如,由于历史版本已经有一些第三方页面嵌入到APP应用程序中,这个时候为了不影响历史代码,只要将对应第三方的域名添加到白名单列表中即可,这样第三方就可不用修改以前的代码,还可以继续使用所有接口。而当第三方白名单列表创建之后,可将所述第三方白名单列表存储在后台数据库中。
步骤s102,当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;
具体的,当第三方要应用APP应用程序的部分功能时,会调用APP应用程序的接口,这时就会向APP应用程序发起接口调用请求,而当APP应用程序收到第三方的接口调用请求时,会查询第三方白名单列表,判断当前请求调用接口的第三方是否存在于所述第三方白名单列表中,如果经过查询发现当前请求调用接口的第三方不在所述第三方白名单列表中时,则可继续检测所述接口调用请求对应的接口是否为鉴权接口,第三方调用的接口包括普通接口跟需要鉴权后才能使用的接口,普通接口可以直接使用,但是需要鉴权的接口,必须鉴权成功后才可以使用,对接口鉴权的目的是为了对获取敏感信息的接口进行保密,以及对一些会操作系统文件对接口进行保护,这类接口属于鉴权接口,例如,需要鉴权的接口可以包括牵涉到个人信息、以及操作本地文件的接口。
步骤s103,当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;
具体的,如果经过检测发现本次第三方需要调用的接口是鉴权接口时,例如,本次第三方需要调用录音接口,则可先查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,所述鉴权成功信息用于标识所述第三方以前是否发起过相同的鉴权。
步骤s104,当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
具体的,当经过查询发现本地缓存中不存在与所述第三方对应的鉴权成功信息时,则需要对本次第三方调用的接口进行鉴权,所述的鉴权可以在后台进行,即对本次第三方的信息进行验证,所述第三方的信息可以包括第三方的签名信息,而第三方的信息可以预先存储在后台中,因此可将本次收到的第三方的签名信息与预先存储的第三方的信息进行比对,如果一致,则鉴权成功,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
本实施例中,通过鉴权成功时缓存与页面关联的鉴权成功信息以及与域名关联的鉴权成功信息,可以减少鉴权次数,提高鉴权效率。
图2为本申请第二个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s102,当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,包括:
步骤s201,当收到第三方的接口调用请求时,向后台数据库中获取第三方白名单列表;
具体的,当收到第三方的接口调用请求时,会首先判断本次发起接口调用请求的第三方是否存在第三方白名单列表中,因此可向后台数据库获取第三方白名单列表,用以对所述第三方进行查询。
步骤s202,在所述第三方白名单列表中查询与所述第三方对应的白名单;
具体的,当获取到所述第三方白名单列表后,可根据第三方的名称或者域名在所述第三方白名单列表中进行查询,查询是否存在与所述第三方名称或者域名对应的白名单。
步骤s203,当在所述第三方白名单列表查询到与所述第三方对应的白名单时,向所述第三方开放与所述接口调用请求对应的接口。
具体的,当在所述第三方白名单列表中进行查询后,发现存在与所述第三方名称或者域名对应的白名单,说明本次发起接口调用请求的第三方可以不用进行接口鉴权,因此可向所述第三方开放与所述接口调用请求对应的接口,而所述第三方可直接调用与所述接口调用请求对应的接口。
本实施例中,通过对第三方白名单列表的查询,判断本次发起接口调用请求的第三方是否在第三方白名单列表中,可以有效提高接口鉴权的效率。
图3为本申请第三个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s102,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口,包括:
步骤s301,当检测到所述第三方不在所述第三方白名单列表中时,解析所述接口调用请求,获得所述第三方本次需要调用的接口列表;
具体的,当通过对所述第三方白名单列表的查询,发现所述第三方不在所述第三方白名单列表中时,这时可以对收到的接口调用请求进行解析,获取所述接口调用请求中的接口列表,所述接口列表用于标识所述第三方本次需要调用的接口集合。
步骤s302,在所述接口列表中查询是否存在需要鉴权的接口,当在所述接口列表中查询到存在至少一个需要鉴权的接口时,则所述接口调用请求对应的接口为鉴权接口。
具体的,在所述接口列表中可能存在一个或多个接口,因此需要对所述接口列表中所有的接口进行查询,判断所述接口是否是需要鉴权的接口,如果在所述接口列表中查询到存在至少一个需要鉴权的接口时,说明本次第三方的接口调用请求需要进行鉴权,而所述接口调用请求对应的接口可以认为是鉴权接口。
本实施例中,通过对第三方调用的接口进行鉴权接口的检测,可以有效提高接口鉴权的效率。
图4为本申请第四个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s103,当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,包括:
步骤s401,当检测到所述接口调用请求对应的接口是鉴权接口时,向所述第三方发送签名信息请求,用以获取所述第三方的加密的签名信息;
具体的,如果对第三方调用的接口进行检测,发现所述接口调用请求对应的接口是鉴权接口时,可向第三方发送签名信息请求,用以获取所述第三方的加密的签名信息,所述签名信息可包括第三方ID、时戳、生成签名的随机串及签名,所述第三方ID可以和三种鉴权类型相关联,例如,域名类型、页面类型及普通类型,即表示本次是以域名类型、页面类型还是普通类型发起鉴权。
具体的,所述签名信息在第三方还可以进行加密,所述加密的方法可以是对称加密,例如将秘钥事先在第三方和APP应用程序端进行存储,第三方通过秘钥对签名信息进行加密,APP应用程序端通过秘钥对签名信息进行解密,保证签名信息的安全性;也可以通过非对称加密,第三方和APP应用程序端共同维护一对公钥和私钥,第三方通过公钥进行加密,APP应用程序端通过私钥进行解密。
步骤s402,当收到所述第三方的加密的签名信息后,对所述第三方的加密的签名信息进行解密,获得解密的签名信息,并对所述解密的签名信息进行解析,获得与所述第三方对应的鉴权类型;
具体的,当收到所述第三方的加密的签名信息后,可根据步骤s401中的加密方法进行对应的解密,获得解密后的签名信息,并通过对所述解密后的签名信息进行解析,获得签名信息中的内容,当获取到签名信息中的第三方ID后,可根据所述第三方ID与鉴权类型的关联关系,或者本次第三方的鉴权类型。
具体的,在对所述加密的签名信息进行解密时,还可预设签名信息有效时间,当对所述加密的签名信息进行解密之后,获取所述签名信息中的时戳,并获取系统当前时间,将所述系统当前时间减去所述签名信息中的时戳对应的时间,获得时间差,并判断所述时间差是否在所述预设的签名信息有效时间内,如果所述时间差在所述预设的签名信息有效时间内,则执行步骤s403,否则丢弃本次签名信息。
步骤s403,根据所述与所述第三方对应的鉴权类型查询本地缓存中是否存在与所述第三方对应的鉴权成功信息。
具体的,如果域名或者页面之前曾经发起过鉴权请求,并鉴权成功,会缓存与所述域名或者页面相关联的鉴权成功信息,所述鉴权成功信息包含第三方ID以及与第三方ID相关联的鉴权类型,当收到签名信息后,根据所述签名信息中的第三方ID查询鉴权成功信息,如果本地缓存中有与签名信息第三方ID对应的鉴权成功信息,再通过第三方ID与鉴权类型的关联关系,获取本次鉴权的类型。
本实施例中,通过对本地缓存中与所述第三方对应的鉴权成功信息的检测,可以有效提高接口鉴权的效率。
图5为本申请第五个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s103,当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息后,包括:
步骤s501,当查询到本地缓存中存在与所述第三方对应的鉴权成功信息时,向所述第三方开放与所述接口调用请求对应的接口;
具体的,如果经过对本地缓存的查询,发现本地缓存中存在与所述第三方对应的鉴权成功信息时,可直接向所述第三方开放本次调用的接口。
步骤s502,根据所述与所述第三方对应的鉴权成功信息更新所述第三方白名单列表。
具体的,如果本地缓存中存在的是与所述第三方对应的域名鉴权成功信息时,即通过第三方ID查询,存储的是与所述第三方ID对应的域名类型,那么可将所述第三方所述第三方白名单列表中,这样在下次所述第三方再次发起接口调用请求时,不用再进行接口鉴权。
本实施例中,通过对本地缓存中与所述第三方对应的鉴权成功信息的检测,可以有效提高接口鉴权的效率。
图6为本申请第六个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s104,当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
步骤s601,当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,向后台发起第三方鉴权请求,并将第三方的签名信息发送给后台;
具体的,如果经过对本地缓存的查询,发现本地缓存中不存在与所述第三方对应的鉴权成功信息时,这时可向后台发起第三方鉴权请求,并将第三方的签名信息发送给后台,用以对所述第三方的身份进行校验。
步骤s602,当所述后台收到所述第三方鉴权请求后,根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
具体的,当所述后台收到所述第三方鉴权请求后,可以将收到的所述第三方的签名信息与预先存储在后台的所述第三方的信息进行比对,所述比对的信息可包括签名及生成签名的随机串,如果信息比对成功,可将与所述第三方对应的鉴权成功信息存储在本地缓存中。
本实施例中,通过后台对第三方进行身份校验,可以提高接口鉴权的安全性。
图7为本申请第七个实施例的一种基于第三方接入的接口鉴权方法流程示意图,如图所示,所述步骤s602,根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
步骤s701,将获取的第三方的签名信息与存储在后台的第三方的签名信息进行比对;
具体的,所述第三方的签名信息可预先存储在后台,所述预先存储的签名信息可包括签名,因此当收到第三方的签名信息后,可将收到的第三方的签名信息中的签名与预先存储在后台的签名进行比对。
步骤s702,如果比对一致,则对所述第三方的鉴权成功,返回与所述第三方对应的鉴权成功信息,所述鉴权成功信息包括鉴权类型,并将所述鉴权成功信息存储在本地缓存中。
具体的,如果签名比对一致,则鉴权成功,返回与所述第三方对应的鉴权成功信息,所述鉴权成功信息包括鉴权类型,所述鉴权类型可根据本次调用的接口获得,例如,根据本次调用的接口确定本次鉴权是域名类型的鉴权还是页面类型的鉴权,当确定鉴权类型后,将所述鉴权类型与第三方ID进行关联,并将所述鉴权成功信息存储在本地缓存中。
本实施例中,通过对第三方的签名信息进行比对,并对鉴权成功信息进行缓存,可以有效提高接口鉴权的效率。
本申请实施例的一种基于第三方接入的接口鉴权装置结构如图8所示,包括:
白名单创建模块801、第一检测模块802、第二检测模块803及鉴权模块804;其中,白名单创建模块801与第一检测模块802相连,第一检测模块802与第二检测模块803相连,第二检测模块803与鉴权模块804相连;白名单创建模块801设置为创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;第一检测模块802设置为当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;第二检测模块803设置为当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;鉴权模块804设置为当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
本申请实施例还公开了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行上述各实施例中所述接口鉴权方法中的步骤。
本申请实施例还公开了一种存储介质,所述存储介质可被处理器读写,所述存储器存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中所述接口鉴权方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于第三方接入的接口鉴权方法,其特征在于,包括以下步骤:
创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;
当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;
当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;
当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中;
所述当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,包括:
当检测到所述接口调用请求对应的接口是鉴权接口时,向所述第三方发送签名信息请求,用以获取所述第三方的加密的签名信息;
当收到所述第三方的加密的签名信息后,对所述第三方的加密的签名信息进行解密,获得解密的签名信息,并对所述解密的签名信息进行解析,获得与所述第三方对应的鉴权类型;
根据所述与所述第三方对应的鉴权类型查询本地缓存中是否存在与所述第三方对应的鉴权成功信息。
2.如权利要求1所述的基于第三方接入的接口鉴权方法,其特征在于,所述当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,包括:
当收到第三方的接口调用请求时,向后台数据库中获取第三方白名单列表;
在所述第三方白名单列表中查询与所述第三方对应的白名单;
当在所述第三方白名单列表查询到与所述第三方对应的白名单时,向所述第三方开放与所述接口调用请求对应的接口。
3.如权利要求1所述的基于第三方接入的接口鉴权方法,其特征在于,所述当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口,包括:
当检测到所述第三方不在所述第三方白名单列表中时,解析所述接口调用请求,获得所述第三方本次需要调用的接口列表;
在所述接口列表中查询是否存在需要鉴权的接口,当在所述接口列表中查询到存在至少一个需要鉴权的接口时,则所述接口调用请求对应的接口为鉴权接口。
4.如权利要求1所述的基于第三方接入的接口鉴权方法,其特征在于,所述当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息后,包括:
当查询到本地缓存中存在与所述第三方对应的鉴权成功信息时,向所述第三方开放与所述接口调用请求对应的接口;
根据所述与所述第三方对应的鉴权成功信息更新所述第三方白名单列表。
5.如权利要求1所述的基于第三方接入的接口鉴权方法,其特征在于,所述当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,向后台发起第三方鉴权请求,并将第三方的签名信息发送给后台;
当所述后台收到所述第三方鉴权请求后,根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中。
6.如权利要求5所述的基于第三方接入的接口鉴权方法,其特征在于,所述根据所述第三方的签名信息对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中,包括:
将获取的第三方的签名信息与存储在后台的第三方的签名信息进行比对;
如果比对一致,则对所述第三方的鉴权成功,返回与所述第三方对应的鉴权成功信息,所述鉴权成功信息包括鉴权类型,并将所述鉴权成功信息存储在本地缓存中。
7.一种基于第三方接入的接口鉴权装置,其特征在于,所述装置包括:
白名单创建模块:设置为创建第三方白名单列表,并将所述第三方白名单列表存储在后台数据库中;
第一检测模块:设置为当收到第三方的接口调用请求时,检测所述第三方是否在所述第三方白名单列表中,当检测到所述第三方不在所述第三方白名单列表中时,则检测所述接口调用请求对应的接口是否为鉴权接口;
第二检测模块:设置为当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息;
鉴权模块:设置为当查询到本地缓存中不存在与所述第三方对应的鉴权成功信息时,则对所述第三方进行鉴权,并在鉴权成功后将与所述第三方对应的鉴权成功信息存储在本地缓存中;
所述当检测到所述接口调用请求对应的接口是鉴权接口时,查询本地缓存中是否存在与所述第三方对应的鉴权成功信息,包括:
当检测到所述接口调用请求对应的接口是鉴权接口时,向所述第三方发送签名信息请求,用以获取所述第三方的加密的签名信息;
当收到所述第三方的加密的签名信息后,对所述第三方的加密的签名信息进行解密,获得解密的签名信息,并对所述解密的签名信息进行解析,获得与所述第三方对应的鉴权类型;
根据所述与所述第三方对应的鉴权类型查询本地缓存中是否存在与所述第三方对应的鉴权成功信息。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如权利要求1至6中任一项所述接口鉴权方法的步骤。
9.一种存储介质,其特征在于,所述存储介质可被处理器读写,所述存储介质存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项所述接口鉴权方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344191.6A CN110224974B (zh) | 2019-04-26 | 2019-04-26 | 基于第三方接入的接口鉴权方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344191.6A CN110224974B (zh) | 2019-04-26 | 2019-04-26 | 基于第三方接入的接口鉴权方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110224974A CN110224974A (zh) | 2019-09-10 |
CN110224974B true CN110224974B (zh) | 2022-08-30 |
Family
ID=67819963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910344191.6A Active CN110224974B (zh) | 2019-04-26 | 2019-04-26 | 基于第三方接入的接口鉴权方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224974B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338057B (zh) * | 2020-09-27 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 基于第三方鉴权的登录方法、装置、设备和存储介质 |
CN112732807A (zh) * | 2020-12-30 | 2021-04-30 | 福建卓融信息技术有限公司 | 一种接口调用的方法及装置 |
CN113452771B (zh) * | 2021-06-24 | 2023-01-31 | 北京沃东天骏信息技术有限公司 | 一种接口调用方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897782A (zh) * | 2016-06-30 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种针对接口的调用请求的处理方法及装置 |
CN106790262A (zh) * | 2017-02-07 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种鉴权方法及装置 |
CN108259502A (zh) * | 2018-01-29 | 2018-07-06 | 平安普惠企业管理有限公司 | 用于获取接口访问权限的鉴定方法、服务端及存储介质 |
CN108512784A (zh) * | 2018-06-21 | 2018-09-07 | 珠海宏桥高科技有限公司 | 基于网关路由转发的鉴权认证方法 |
CN109450888A (zh) * | 2018-11-01 | 2019-03-08 | 泰康保险集团股份有限公司 | 业务调用方法及装置 |
CN109544267A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 资源获取方法、装置、计算机设备和存储介质 |
-
2019
- 2019-04-26 CN CN201910344191.6A patent/CN110224974B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897782A (zh) * | 2016-06-30 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种针对接口的调用请求的处理方法及装置 |
CN106790262A (zh) * | 2017-02-07 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种鉴权方法及装置 |
CN108259502A (zh) * | 2018-01-29 | 2018-07-06 | 平安普惠企业管理有限公司 | 用于获取接口访问权限的鉴定方法、服务端及存储介质 |
CN108512784A (zh) * | 2018-06-21 | 2018-09-07 | 珠海宏桥高科技有限公司 | 基于网关路由转发的鉴权认证方法 |
CN109544267A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 资源获取方法、装置、计算机设备和存储介质 |
CN109450888A (zh) * | 2018-11-01 | 2019-03-08 | 泰康保险集团股份有限公司 | 业务调用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110224974A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102038964B1 (ko) | 어플리케이션 간의 상호 인증 방법 및 장치 | |
CN109325342B (zh) | 身份信息管理方法、装置、计算机设备和存储介质 | |
US11367054B2 (en) | Biological recognition technology-based mobile payment device, method and apparatus, and storage medium | |
KR100636111B1 (ko) | 분실된 이동 단말기에 내장된 데이터 보호 방법 및 이에 관한 기록매체 | |
CN106330984B (zh) | 访问控制策略的动态更新方法及装置 | |
KR101754308B1 (ko) | 모바일 민감 데이터 관리 방법 및 이를 수행하는 위탁 서버 | |
CN110224974B (zh) | 基于第三方接入的接口鉴权方法及相关设备 | |
WO2020215568A1 (zh) | 更换通信号码的方法、装置、系统、计算机设备及存储介质 | |
CN112632581A (zh) | 用户数据处理方法、装置、计算机设备及存储介质 | |
US11972637B2 (en) | Systems and methods for liveness-verified, biometric-based encryption | |
CN108734018B (zh) | 认证方法、装置、系统和计算机可读存储介质 | |
US20200125717A1 (en) | Authentication protection system and method based on trusted environment, and storage medium | |
KR102137122B1 (ko) | 보안 체크 방법, 장치, 단말기 및 서버 | |
CN111107073B (zh) | 应用自动登录方法、装置、计算机设备和存储介质 | |
CN108880859B (zh) | 升级文件的配置方法、装置、服务器、终端及存储介质 | |
CN110798315A (zh) | 基于区块链的数据处理方法、装置及终端 | |
CN108199827B (zh) | 客户端代码完整性校验方法、存储介质、电子设备及系统 | |
CN111800273B (zh) | 信息处理方法、电子设备及存储介质 | |
CN113221128B (zh) | 账号和密码的存储方法及注册管理系统 | |
CN111917540A (zh) | 一种数据加解密方法、装置、移动终端和存储介质 | |
CN108599959B (zh) | 授权证书校验方法、装置及可读存储介质、应用设备 | |
EP3203407B1 (en) | Information processing method and information processing device | |
US20170201528A1 (en) | Method for providing trusted service based on secure area and apparatus using the same | |
CN111382425A (zh) | 多签名机制下的应用安装管理方法、智能终端及存储介质 | |
CN105100030B (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 |