CN116108417A - 接口访问控制方法、装置、计算机设备和存储介质 - Google Patents

接口访问控制方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116108417A
CN116108417A CN202111328399.2A CN202111328399A CN116108417A CN 116108417 A CN116108417 A CN 116108417A CN 202111328399 A CN202111328399 A CN 202111328399A CN 116108417 A CN116108417 A CN 116108417A
Authority
CN
China
Prior art keywords
interface
calling
authorized
list
authorization result
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
CN202111328399.2A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111328399.2A priority Critical patent/CN116108417A/zh
Publication of CN116108417A publication Critical patent/CN116108417A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种接口访问控制方法、装置、计算机设备和存储介质。所述方法涉及云技术,包括:响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果。当确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称,当对调用进程的进程校验通过、且对与调用进程名称对应的目标调用接口的接口校验通过时,确定目标调用接口为授权接口,访问目标调用接口。采用本方法实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。

Description

接口访问控制方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种接口访问控制方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,以及各类应用程序的广泛使用,为保证企业和用户的有效权益,在应用程序的开发过程中,需要对SDK(软件开发工具包)进行访问控制,保证SDK的调用安全。
传统上,多采用非全量打包的SDK来实现SDK的访问控制,比如全量的SDK提供了(A、B、C、D)五个接口,但某一用户只愿意购买A、B两个接口所提供的功能,则可通过打包非全量的SDK(即只包括A、B接口)来实现接口的访问控制。
由于传统的接口访问控制方式,采用非全量打包方式时,仅对用户级别的访问权限进行控制,即只需要判断该用户是否已经购买相应的接口功能。而同一用户可能存在不同产品都需要应用到相同接口的情况,则该用户在具有访问权限时,可将所购买的同一SDK提供的接口应用于不同产品中,均可获取该些接口所提供的信息或功能。
因此,传统的访问控制方法仍然存在接口非法使用的情况,进而导致接口的调用安全性较为低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升接口调用安全性的接口访问控制方法、装置、计算机设备和存储介质。
一种接口访问控制方法,所述方法包括:
响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
一种接口访问控制方法,所述方法包括:
接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
一种接口访问控制装置,所述装置包括:
授权结果获取模块,用于响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
调用进程名称获取模块,用于当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
目标调用接口访问模块,用于当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
一种接口访问控制装置,所述装置包括:
应用包信息获取模块,用于接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
授权结果反馈模块,用于响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
授权接口列表反馈模块,用于当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
上述接口访问控制方法、装置、计算机设备和存储介质中,通过响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果,并在确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称,进而在对调用进程的进程校验通过、且对与调用进程名称对应的目标调用接口的接口校验通过时,确定目标调用接口为授权接口,并访问目标调用接口。实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
附图说明
图1为一个实施例中接口访问控制方法的应用环境图;
图2为一个实施例中接口访问控制方法的流程示意图;
图3为另一个实施例中一个实施例中接口访问控制方法的流程示意图;
图4为一个实施例中获取与接口调用请求对应的软件开发工具包的授权结果的流程示意图;
图5为一个实施例中接口访问控制方法的SDK初始化时序图;
图6为再一个实施例中接口访问控制方法的流程示意图;
图7为又一个实施例中接口访问控制方法的流程示意图;
图8为一个实施例中接口访问控制方法的预存白名单列表示意图;
图9为一个实施例中接口访问控制方法的时序图;
图10为一个实施例中接口访问控制装置的结构框图;
图11为另一个实施例中接口访问控制装置的结构框图;
图12为一个实施例中接口访问控制系统的架构图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的接口访问控制方法,涉及了云技术,其中,云技术(Cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利,云计算技术将变成重要支撑。
其中,云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称,属于云技术的一种应用方式。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。云安全主要研究方向包括:1.云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2.安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3.云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
本申请提供的接口访问控制方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与云端服务器104进行通信。客户端102通过响应接口调用请求,获取云端服务器104反馈的与接口调用请求对应的软件开发工具包的授权结果,并在当确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称。当客户端102校验确定与调用进程名称对应的目标调用接口为授权接口时,访问目标调用接口。其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种接口访问控制方法,以该方法应用于图1中的客户端为例进行说明,包括以下步骤:
步骤S202,响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果,授权结果为云端服务器根据与接口调用请求对应的应用包信息校验得到。
具体地,当客户端的SDK(Software Development Kit,即软件开发工具包)检测到用户触发的接口调用请求时,响应接口调用请求,并获取与接口调用请求对应的软件开发工具包的授权结果。其中,授权结果为云端服务器根据与接口调用请求对应的应用包信息校验得到,具体可以包括已授权和未授权,当与接口调用请求对应的软件开发工具包的授权结果为未授权时,结束当前接口调用流程。其中,具体是通过软件开发工具包提供的init方法的调用结果,确定与接口调用请求对应的软件开发工具包的授权结果。
进一步地,响应接口调用请求,并获取与接口调用请求对应的应用包信息,进而根据应用包信息,生成对应的鉴权指令。通过将鉴权指令发送至云端服务器,根据鉴权指令指示云端服务器根据预存应用包信息,对应用包信息进行校验,生成对应的授权结果,进而接收云端服务器反馈的授权结果。其中,与接口调用请求对应的应用包信息,表示为当前触发接口调用请求,需要访问软件开发工具包所提供的接口的产品或应用程序的应用包信息。
其中,设置在云端服务器的云端数据库中存储有预存应用包信息,根据预存应用包信息,可对应用包信息进行校验,以生成相应的授权结果。具体来说,是通过将预存应用包信息和应用包信息进行比对,确定是否存在和与接口调用请求一致的预存应用包信息。
在一个实施例中,在用户通过调用进程访问软件开发工具包所提供的接口之前,需要获取对应用户的产品的应用包名称、应用程序编号以及对应的进行信息,作为预存应用包信息存储至云端服务器中,以供后续鉴权使用。
其中,在对软件开发工具包进行初始化时,需要提取应用程序编号和应用包名称,对软件开发工具包的接入者的合法性进行校验,确定接入者是否具备访问权限。其中,软件开发工具包的接入者可以理解为需要访问软件开发工具包的不同接口的产品或者程序。
步骤S204,当确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称。
具体地,当确定授权结果为已授权时,即确定软件开发工具包的接入者合法时,进一步获取与接口调用请求对应的调用进程名称。其中,调用进程名称用于进一步判断需要访问软件开发工具包的不同接口的调用进程是否合法。
其中,具体是通过Binder(进程通信技术)提供的getCallingPid方法(进程名称获取函数)获取与接口调用请求对应的调用进程名称。
步骤S206,当对调用进程的进程校验通过、且对与调用进程名称对应的目标调用接口的接口校验通过时,确定目标调用接口为授权接口,访问目标调用接口。
具体地,通过获取预存白名单列表,并根据预存白名单列表对调用进程名称进行进程校验。当确定进程校验通过时,获取与调用进程名称对应的授权接口列表,进一步根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验。而当检测到接口校验通过,确定目标调用接口为授权接口时,访问目标调用接口。
其中,预存白名单列表用于存储不同授权接口,以及各授权接口所属的调用进程名称,可从云端服务器实时获取或从客户端本地缓存中获取。可以理解的是,根据预存白名单列表对调用进程名称进行进程校验,即表示为判断调用进程名称是否属于预存白名单列表,当确定调用进程名称属于预存白名单列表时,即表明进程校验通过。而当调用进程名称不属于预存白名单列表时,则表示进程校验未通过,结束当前接口调用流程。
进一步地,授权接口列表中存储有与相应已授权进程对应的一个或多个授权接口,而根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验,即可以理解为判断与接口调用请求对应的目标调用接口是否属于授权接口列表。当确定目标调用接口属于授权接口列表时,则表示接口校验通过,确定目标调用接口为授权接口,可访问目标接口。而当确定目标调用接口不属于授权接口列表时,则表示接口校验未通过,需结束当前接口调用流程。
在一个实施例中,在确定授权结果为已授权时,通过从云端服务器获取预存白名单列表,并将所获取的预存白名单列表缓存到本地,以供后续鉴权使用,可避免每次从云端服务器实时获取。其中,预存白名单列表还可根据已授权的产品信息实时进行更新,得到更新后的预存白名单列表,同样缓存至客户端本地存储中。
在一个实施例中,在访问目标调用接口后,获取并调用与目标调用接口对应的接口业务以及业务功能。其中,接口业务以及业务功能,具体可以包括获取当前的用户信息、获取当前的天气信息、打开人脸核身以及打开二维码扫描等。
上述接口访问控制方法中,通过响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果,并在确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称,进而在对调用进程的进程校验通过、且对与调用进程名称对应的目标调用接口的接口校验通过时,确定目标调用接口为授权接口,并访问目标调用接口。实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
在一个实施例中,如图3所示,提供了一种接口访问控制方法,该方法在当确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称之后,还包括:
步骤S302,根据预存白名单列表对调用进程名称进行进程校验。
具体地,通过获取预存白名单列表,并根据预存白名单列表对调用进程名称进行进程校验。具体来说,是通过将调用进程名称和预存白名单列表中预存的已授权调用进程进行匹配,判断是否能够匹配成功,即判断调用进程是否属于相应的预存白名单列表,以进一步确定当前的调用进程是否为已授权调用进程。
其中,当确定调用进程名称属于预存白名单列表时,即表明进程校验通过。而当调用进程名称不属于预存白名单列表时,则表示进程校验未通过,结束当前接口调用流程。
在一个实施例中,还可通过与客户端与服务器实时进行数据交互,以实时获取相应的已授权调用进程和授权接口,来对当前需要访问软件开发工具包所提供的接口的调用进程名称进行进程校验和接口校验。
步骤S304,当确定进程校验通过时,向云端服务器发送接口列表查询指令,接收云端服务器响应接口列表查询指令反馈的与调用进程名称对应的授权接口列表。
具体地,当确定进程校验通过,即确定调用进程属于预存白名单列表中预存的已授权调用进程时,向云端服务器发送接口列表查询指令,云端服务器响应所接收到的接口列表查询指令后,获取与调用进程名称对应的授权接口列表,并将授权接口列表反馈至客户端。其中,授权接口列表中存储有与相应已授权进程对应的一个或多个授权接口。
步骤S306,根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验。
具体地,根据授权接口列表所包括的一个或多个授权接口,对与接口调用请求对应的目标调用接口进行接口校验,判断与接口调用请求对应的目标调用接口,是否属于授权接口列表中的其中一个授权接口。
其中,当确定目标调用接口属于授权接口列表时,则表示接口校验通过,确定目标调用接口为授权接口,可访问目标接口。而当确定目标调用接口不属于授权接口列表时,则表示接口校验未通过,需结束当前接口调用流程。
本实施例中,根据预存白名单列表对调用进程名称进行进程校验,当确定进程校验通过时,向云端服务器发送接口列表查询指令,接收云端服务器响应接口列表查询指令反馈的与调用进程名称对应的授权接口列表,进而根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验。该方法在进行校验时实现了接口级别的访问控制,通过在进行进程校验的基础上,进一步进行接口校验,实现对每个调用进程以及各自接口的精准访问控制,避免出现接口非法访问的情况,以提升接口调用安全性。
在一给实施例中,如图4所示,响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果的步骤,具体包括:
步骤S402,响应接口调用请求,获取与接口调用请求对应的应用包信息。
具体地,当接收到接口调用请求时,响应接口调用请求,并获取与接口调用请求信息对应的应用包信息。其中,应用包信息包括应用包名,用于与云端服务器中的预存报应用包信息进比对。
步骤S404,根据应用包信息,生成对应的鉴权指令。
具体地,根据应用包信息,触发生成需要对该应用包信息进行是否授权的鉴权指令。其中,判断应用包信息对应的产品或者程序是否已授权,即是否具有访问软件开发工具包所提供的接口的权限。
步骤S406,将鉴权指令发送至云端服务器,鉴权指令用于指示云端服务器根据预存应用包信息,对应用包信息进行校验,生成对应的授权结果。
具体地,设置在云端服务器的云端数据库中存储有预存应用包信息,通过将鉴权指令发送至云端服务器,使得云端服务器获取预存应用包信息,并根据预存应用包信息,对应用包信息进行校验,以生成相应的授权结果。具体来说,是通过将预存应用包信息和应用包信息进行比对,确定是否存在和与接口调用请求一致的预存应用包信息。
步骤S408,接收云端服务器反馈的授权结果。
具体地,通过接收云端服务器反馈的授权结果,根据授权结果确定客户端的产品或者程序是否具有访问软件开发工具包所提供的接口的权限。
其中,授权结果包括已授权和未授权,当应用包信息和预存应用包信息不一致时,则表明相应的授权结果为未授权。只有当存在和应用包信息一致的预存应用包信息时,才可确定相应的授权结果为已授权。
本实施例中,通过响应接口调用请求,获取与接口调用请求对应的应用包信息,根据应用包信息,生成对应的鉴权指令,并将鉴权指令发送至云端服务器,根据鉴权指令指示云端服务器根据预存应用包信息,对应用包信息进行校验,生成对应的授权结果,进而接收云端服务器反馈的授权结果。实现了根据预存应用包信息对与接口调用请求对应的应用包信息的校验,得到软件开发工具包的授权结果,初步判断客户端需要访问软件开发工具包的接口的产品或程序的合法性,以便在此基础上进一步进行接口访问控制,提升访问控制的准确度。
在一个实施例中,如图5所示,提供了一种SDK初始化流程,具体包括:
步骤S501,客户端调用初始化函数,生成对应的初始化指令。
步骤S502,SDK(软件开发工具包)响应初始化指令,获取客户端进程的包名信息。
步骤S503,软件开发工具包根据包名信息生成对应的鉴权指令,并将鉴权指令发送至云端服务器。
步骤S504,云端服务器根据鉴权指令,从云端数据库中获取预存包名信息。
步骤S505,云端服务器根据预存包名信息对包名信息进行校验,生成对应的授权结果。
执行步骤S505后,执行步骤S506至S509,步骤S506:软件开发工具包接收云端服务器反馈的授权结果。
步骤S507,在授权结果为已授权时,生成白名单查询指令,并将白名单查询指令发送至云端服务器。
步骤S508,云端服务器根据白名单查询指令,从云端数据库中获取预存白名单列表。
步骤S509,软件开发工具包获取云端服务器反馈的预存白名单列表,结束初始化流程。
执行步骤S505后,执行步骤S510,软件开发工具包获取云端服务器反馈的授权结果,并在授权结果为未授权时,结束初始化流程,并将软件开发工具包设置为不可用状态。
其中,在授权结果为未授权时,表示当前是非法的应用在集成使用软件开发工具包。此状态下,软件开发工具包所提供的所有功能和接口都无法使用。
本实施例中,实现了对软件开发工具包的初始化处理,以便后续进行访问时或调用时,可直接获取相应软件开发工具包的授权结果,并进一步进行进程级别和接口级别的访问控制,实现对每个调用进程以及各自接口的精准访问控制,避免出现接口非法访问的情况,以提升接口调用安全性。
在一个实施例中,提供了一种接口访问控制方法,包括以下步骤:
当确定授权结果为已授权时,生成对应的白名单查询指令。
将白名单查询指令发送至云端服务器,白名单查询指令用于指示云端服务器获取预存白名单列表,预存白名单列表用于存储不同授权接口,以及各授权接口所属的调用进程名称。
接收云端服务器反馈的预存白名单列表。
具体地,在确定授权结果为已授权时,即确定需要访问软件开发工具包的产品或者程序合法,具有访问软件开发工具包的权限时,生成相应的白名单查询指令,并将白名单查询指令发送至云端服务器,进而云端服务器根据白名单查询指令,从云端数据库中获取预存白名单列表,进而将预存白名单列表反馈至客户端的软件开发工具包。
其中,预存白名单列表中存储有不同授权接口,以及各授权接口所属的调用进程名称。
在一个实施例中,预存白名单列表可以是xml格式的文件,在xml文件中,每行的元素表示可以访问软件开发工具包的调用进程配置,包括进程名称以及进程可以访问的授权接口列表,授权接口列表中可包括一个或多个授权接口。
本实施例中,当确定授权结果为已授权时,生成对应的白名单查询指令,并将白名单查询指令发送至云端服务器,使得云端服务器根据白名单查询指令获取预存白名单列表,并将预存白名单列表反馈至客户端的软件开发工具包。实现了在对应用包信息进行初步校验通过的基础上,获取预存白名单列表,以根据预存白名单列表对进程和接口进行进一步校验,来提升访问控制精准度。
在一个实施例中,如图6所示,提供了一种接口访问控制方法,以该方法应用于图1中的云端服务器为例进行说明,包括以下步骤:
步骤S602,接收客户端发送的鉴权指令,并获取鉴权指令携带的应用包信息。
具体地,接收客户端的软件开发工具包发送的鉴权指令,并获取鉴权指令携带的应用包信息,其中,应用包信息可以是客户端的产品或者程序对应的应用包名。
步骤S604,响应鉴权指令,根据预存应用包信息对应用包信息进行校验,生成对应的授权结果,并将授权结果反馈至客户端。
具体地,通过响应鉴权指令,从云端数据库中获取预存应用包信息,并根据预存应用包信息对应用包信息进行校验,生成相应的授权结果。
进一步地,通过将预存应用包信息和应用包信息进行比对,判断是否存在和应用包信息一致的预存应用包信息,进而生成对应的授权结果。
其中,授权结果包括已授权和未授权,当应用包信息和预存应用包信息不一致时,则表明相应的授权结果为未授权。只有当存在和应用包信息一致的预存应用包信息时,才可确定相应的授权结果为已授权。
步骤S606,当检测到客户端发送的接口列表查询指令时,响应接口列表查询指令,将预存的授权接口列表反馈至客户端,授权接口列表用于使得客户端对与调用进程名称对应的目标调用接口进行接口校验,并在接口校验通过时,访问目标调用接口。
具体地,在将授权结果反馈至客户端的软件开发工具包后,实时检测接口列表查询指令。当确定检测到客户端的软件开发工具包发送的接口列表查询指令后,响应接口列表查询指令,并根据接口列表查询指令从云端数据库中获取存储的授权接口列表,进而将授权接口列表反馈至客户端的软件开发工具包。其中,授权接口列表包括多个授权接口。
其中,客户端的软件开发工具包根据所接收到的授权接口列表,对与调用进程名称对应的目标调用接口进行校验,即通过将目标调用接口和所接收到的授权接口进行比对,确定目标调用接口是否属于授权接口中的其中一个。
进一步地,当校验通过时,即确定目标调用接口属于授权接口时,客户端可访问相应的目标调用接口,且进一步获取并调用与目标调用接口对应的接口业务以及业务功能。
在一个实施例中,在当检测到客户端发送的接口列表查询指令时,响应接口列表查询指令,将预存的授权接口列表反馈至客户端之前,还包括:
当检测到客户端反馈的白名单查询指令时,响应白名单查询指令,查询对应的预存白名单列表;预存白名单列表存储不同授权接口,以及各授权接口所属的调用进程名称,用于对调用进程名称进行进程校验。具体地,在将授权结果反馈至客户端的软件开发工具包后,实时检测客户端的软件开发工具包反馈的白名单查询指令。当确定检测到白名单查询指令时,响应白名单查询指令,从云端数据库中获取对应的预存白名单列表,并根据预存白名单列表对于调用进程名称进行进程校验。
进一步地,在根据预存白名单列表对于调用进程名称进行进程校验,得到的校验结果为进程校验通过后,进一步实时检测客户端发送的接口列表查询指令。
本实施例中,接收客户端发送的鉴权指令,并获取鉴权指令携带的应用包信息,响应鉴权指令,根据预存应用包信息对应用包信息进行校验,生成对应的授权结果,并将授权结果反馈至客户端。当检测到客户端发送的接口列表查询指令时,响应接口列表查询指令,将预存的授权接口列表反馈至客户端。该方法实现了接口级别的校验,只有当目标调用接口属于授权接口时,才可访问目标调用接口,进而实现对不同软件开发工具包所提供的授权接口的精准访问控制,避免出现接口的非法访问,以提升接口调用安全性。
在一个实施例中,如图7所示,提供了一种接口访问控制方法,包括以下步骤:
步骤S702,获取已授权产品信息。
具体地,通过获取客户端的用户输入的已授权产品信息,包括产品对应的应用包名,调用进程名称以及软件开发工具包对应的访问控制信息。其中,软件开发工具包对应的访问控制信息包括有软件开发工具包对应的授权接口、使用时长以及使用次数等限制条件。
步骤S704,从已授权产品信息,提取对应的已授权进程名称和对应的授权接口列表。
具体地,从已授权产品信息中,提取相应的已授权进程名称,以及与已授权进程名称对应的授权接口列表。其中,授权接口列表中存储有与相应已授权进程对应的一个或多个授权接口,可以是一个接口或者多个接口组成的接口簇。
步骤S706,根据预设接口映射规则,建立已授权进程名称和对应授权接口列表之间的映射关系,并生成对应的预存白名单列表。
具体地,根据预设接口映射规则,即授权进程名称和授权接口列表包括的各授权接口之间的映射规则,建立已授权进程名称和对应授权接口列表之间的映射关系,根据已授权进程名称、授权接口列表以及两者间的映射关系,生成得到预存白名单列表。
其中,预存白名单列表根据所获取的已授权产品信息实时更新,更新后可存储在云端服务器中,也可更新后缓存至客户端的本地存储中。
在一个实施例中,如图8所示,提供了一种接口访问控制方法的预存白名单列表,预存白名单列表可以是xml格式的文件,在xml文件中,每行的element元素表示可以访问软件开发工具包的调用进程配置,包括进程名称(processName)以及进程可以访问的授权接口列表(interfaceAccessLevel)。其中,预存白名单列表中的进程名称对应的进程为已授权进程,即具有访问软件开发工具包的权限的调用进程,授权接口列表中可包括一个或多个授权接口,可用指代不同接口或者接口簇的字符串进行表示。
其中,参照图8可知,第一行的element元素对应的进程名称(processName)为“Caller”,对应的授权接口列表(interfaceAccessLevel)的字符串则为“1-3-5”,同理,第二行的element元素对应的进程名称(processName)为“Caller2”,对应的授权接口列表(interfaceAccessLevel)的字符串则为“1-2-3”。同样地,第三行的element元素对应的进程名称(processName)为“Caller4”,对应的授权接口列表(interfaceAccessLevel)的字符串则为“1-3-4-5”。
进一步地,针对授权接口列表(interfaceAccessLevel)中的字符串和接口映射规则,举例如下:
1)字符串“1”,对应着接口A,B,C,D;2)字符串“3”,对应着接口E,F,G;3)字符串“5“,对应着接口H。
举例来说,如果预存白名单列表中的element元素中,进程名称(processName)为Caller,授权接口列表(interfaceAccessLevel)的值为“1-5”,则意味着,进程Caller可以访问A,B,C,D,H共五个授权接口,而其他接口则无权访问。
上述接口访问控制方法,实现了预存白名单列表的生成和实时更新,以便后续进行校验时,可直接获取预存白名单列表进行进程级别和接口级别的校验,实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
在一个实施例中,如图9所示,提供了一种接口访问控制方法的时序图,参照图9可知,具体包括:
步骤S901,客户端向软件开发工具包发送接口调用请求。
步骤S902,软件开发工具包接收并响应接口调用请求,获取与接口调用请求对应的应用包信息。
步骤S903,软件开发工具包根据应用包信息生成对应的鉴权指令,并将鉴权指令发送至云端服务器。
步骤S904,云端服务器接收客户端发送的鉴权指令,并获取鉴权指令携带的应用包信息。
步骤S905,云端服务器响应鉴权指令,从云端数据库中获取预存应用包信息。
步骤S906,云端服务器根据预存应用包信息,对鉴权指令携带的应用包信息进行校验,生成对应的授权结果,并将授权结果反馈至软件开发工具包。
步骤S907,当确定授权结果为已授权时,软件开发工具包生成对应的白名单查询指令,并将白名单查询指令发送至云端服务器。
步骤S908,云端服务器接收并响应白名单查询指令,从云端数据库中获取预存白名单列表。
步骤S909,云端服务器将预存白名单列表发送至软件开发工具包。
步骤S910,软件开发工具包根据预存白名单列表对调用进程名称进行进程校验。
步骤S911,当确定进程校验通过时,软件开发工具包生成对应的接口列表查询指令,并将接口列表查询指令发送至云端服务器。
步骤S912,云端服务器接收并响应接口列表查询指令,从云端数据库中获取预存的授权接口列表。
步骤S913,云端服务器将授权接口列表发送至软件开发工具包。
步骤S914,软件开发工具包根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验。
步骤S915,当检测到接口校验通过,确定目标调用接口为授权接口时,客户端访问目标调用接口。
步骤S916,客户端获取并调用目标调用接口对应的接口业务。
上述接口访问控制方法,实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种接口访问控制装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:授权结果获取模块1002、调用进程名称获取模块1004以及目标调用接口访问模块1006,其中:
授权结果获取模块1002,用于响应接口调用请求,获取与接口调用请求对应的软件开发工具包的授权结果;授权结果为云端服务器根据与接口调用请求对应的应用包信息校验得到。
调用进程名称获取模块1004,用于当确定授权结果为已授权时,获取与接口调用请求对应的调用进程名称。
目标调用接口访问模块1006,用于当对调用进程的进程校验通过、且对与调用进程名称对应的目标调用接口的接口校验通过时,确定目标调用接口为授权接口,访问目标调用接口。上述接口访问控制装置,实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
在一个实施例中,接口访问控制装置,还包括:
进程校验模块,用于根据预存白名单列表对调用进程名称进行进程校验;
授权接口列表获取模块,用于当确定进程校验通过时,获取与调用进程名称对应的授权接口列表;
接口校验模块,用于根据授权接口列表,对与接口调用请求对应的目标调用接口进行接口校验。
在一个实施例中,授权结果获取模块,还用于:
响应接口调用请求,获取与接口调用请求对应的应用包信息;根据应用包信息,生成对应的鉴权指令;将鉴权指令发送至云端服务器;鉴权指令用于指示云端服务器根据预存应用包信息,对应用包信息进行校验,生成对应的授权结果;接收云端服务器反馈的授权结果。
在一个实施例中,提供了一种接口访问控制装置,该装置还包括预存白名单列表获取模块,用于:
当确定授权结果为已授权时,生成对应的白名单查询指令;将白名单查询指令发送至云端服务器;白名单查询指令用于指示云端服务器获取预存白名单列表,预存白名单列表用于存储不同授权接口,以及各授权接口所属的调用进程名称;接收云端服务器反馈的预存白名单列表。
在一个实施例中,如图11所示,提供了一种接口访问控制装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:应用包信息获取模块1102、授权结果反馈模块1104以及授权接口列表反馈模块1106,其中:
应用包信息获取模块1102,用于接收客户端发送的鉴权指令,并获取鉴权指令携带的应用包信息。
授权结果反馈模块1104,用于响应鉴权指令,根据预存应用包信息对应用包信息进行校验,生成对应的授权结果,并将授权结果反馈至客户端。
授权接口列表反馈模块1106,用于当检测到客户端发送的接口查询指令时,响应接口查询指令,将预存的各授权接口反馈至客户端;授权接口,用于使得客户端对与调用进程名称对应的目标调用接口进行接口校验,并在接口校验通过时,访问目标调用接口。
上述接口访问控制装置,实现了接口级别的校验,只有当目标调用接口属于授权接口时,才可访问目标调用接口,进而实现对不同软件开发工具包所提供的授权接口的精准访问控制,避免出现接口的非法访问,以提升接口调用安全性。
在一个实施例中,提供了一种接口访问控制装置,还包括预存白名单列表查询模块,用于:
当检测到客户端反馈的白名单查询指令时,响应白名单查询指令,查询对应的预存白名单列表;预存白名单列表存储不同授权接口,以及各授权接口所属的调用进程名称。
在一个实施例中,提供了一种接口访问控制装置,还包括预存白名单列表生成模块,用于:
获取已授权产品信息;从已授权产品信息,提取对应的已授权进程名称和对应的授权接口列表;根据预设接口映射规则,建立已授权进程名称和对应授权接口列表之间的映射关系,并生成对应的预存白名单列表;其中,预存白名单列表根据所获取的已授权产品信息实时更新。
关于接口访问控制装置的具体限定可以参见上文中对于接口访问控制方法的限定,在此不再赘述。上述接口访问控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图12所示,提供了一种接口访问控制系统,参照图12可知,该接口访问控制系统包括云端服务器120和客户端122,其中,云端120中设置有客户信息库1202、SDK鉴权服务1204、白名单管理服务1206以及SDK预警服务1208,客户端122设置有功能服务层1222、鉴权管理层1224以及接口代理层1226。其中:
云端服务器120由如下的组件构成:1.客户信息库1202,用于保存授权给客户的SDK信息,其中包括客户的应用包名,SDK调用进程名称(可选,不选默认为应用包名),SDK访问控制信息(包括有SDK接口、使用时长、使用次数等限制条件)。2.SDK鉴权服务1204,用于检验SDK的使用者是合法的用户。3.白名单管理服务1206,提供SDK运行时的可访问接口列表,负责白名单的下发。4.SDK预警服务1208,检测并报警SDK的异常使用。
同样地,客户端122由如下几个部分组成:1.功能服务层1222:SDK提供接口的实现层,在SDK中以Android Service(安卓服务)的方式存在,包括功能A、功能B、……、功能N。2.鉴权管理层1224:包含动态白名单的更新逻辑,以及对SDK提供的接口访问鉴权,作为是接口访问控制的核心模块。3.接口代理层1226:接口代理层通过Binder(进程间通信技术)的方式和功能服务层通信,将功能服务层的接口业务实现提供给调用方,接口包括接口A、接口B、……、接口N。
上述接口访问控制系统,实现了对软件开发工具包的接口级别的访问控制,在确定已允许访问软件开发工具包时,进一步判定相应的目标调用接口是否属于授权接口,进而可实现对每个调用进程以及各自接口的精准访问控制,避免出现不同进程或不同类型的接口的非法访问,以提升接口调用安全性。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种接口访问控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种接口访问控制方法,其特征在于,所述方法包括:
响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
2.根据权利要求1所述的方法,其特征在于,在所述当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称之后,还包括:
根据预存白名单列表对所述调用进程名称进行进程校验;
当确定所述进程校验通过时,向所述云端服务器发送接口列表查询指令,接收所述云端服务器响应所述接口列表查询指令反馈的与所述调用进程名称对应的授权接口列表;
根据所述授权接口列表,对与所述接口调用请求对应的目标调用接口进行接口校验。
3.根据权利要求1所述的方法,其特征在于,所述响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果,包括:
响应接口调用请求,获取与所述接口调用请求对应的应用包信息;
根据所述应用包信息,生成对应的鉴权指令;
将所述鉴权指令发送至云端服务器;所述鉴权指令用于指示所述云端服务器根据预存应用包信息,对所述应用包信息进行校验,生成对应的授权结果;
接收所述云端服务器反馈的授权结果。
4.根据权利要求1至3任意一项所述的方法,其特征在于,在所述响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果之后,还包括:
当确定所述授权结果为已授权时,生成对应的白名单查询指令;
将所述白名单查询指令发送至云端服务器;所述白名单查询指令用于指示所述云端服务器获取预存白名单列表,所述预存白名单列表用于存储不同授权接口,以及各所述授权接口所属的调用进程名称;
接收所述云端服务器反馈的所述预存白名单列表。
5.一种接口访问控制方法,其特征在于,所述方法包括:
接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
6.根据权利要求5所述的方法,其特征在于,在所述当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端之前,还包括:
当检测到所述客户端反馈的白名单查询指令时,响应所述白名单查询指令,查询对应的预存白名单列表;所述预存白名单列表存储不同授权接口,以及各所述授权接口所属的调用进程名称,用于对所述调用进程名称进行进程校验。
7.根据权利要求5所述的方法,其特征在于,生成预存白名单列表,包括:
获取已授权产品信息;
从所述已授权产品信息,提取对应的已授权进程名称和对应的授权接口列表;
根据预设接口映射规则,建立所述已授权进程名称和对应授权接口列表之间的映射关系,并生成对应的预存白名单列表;其中,所述预存白名单列表根据所获取的已授权产品信息实时更新。
8.一种接口访问控制装置,其特征在于,所述装置包括:
授权结果获取模块,用于响应接口调用请求,获取与所述接口调用请求对应的软件开发工具包的授权结果;所述授权结果为云端服务器根据与所述接口调用请求对应的应用包信息校验得到;
调用进程名称获取模块,用于当确定所述授权结果为已授权时,获取与所述接口调用请求对应的调用进程名称;
目标调用接口访问模块,用于当对所述调用进程的进程校验通过、且对与所述调用进程名称对应的目标调用接口的接口校验通过时,确定所述目标调用接口为授权接口,访问所述目标调用接口。
9.一种接口访问控制装置,其特征在于,所述装置包括:
应用包信息获取模块,用于接收客户端发送的鉴权指令,并获取所述鉴权指令携带的应用包信息;
授权结果反馈模块,用于响应所述鉴权指令,根据预存应用包信息对所述应用包信息进行校验,生成对应的授权结果,并将所述授权结果反馈至所述客户端;
授权接口列表反馈模块,用于当检测到所述客户端发送的接口列表查询指令时,响应所述接口列表查询指令,将预存的授权接口列表反馈至所述客户端;所述授权接口列表,用于使得所述客户端对与调用进程名称对应的目标调用接口进行接口校验,并在所述接口校验通过时,访问所述目标调用接口。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111328399.2A 2021-11-10 2021-11-10 接口访问控制方法、装置、计算机设备和存储介质 Pending CN116108417A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111328399.2A CN116108417A (zh) 2021-11-10 2021-11-10 接口访问控制方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111328399.2A CN116108417A (zh) 2021-11-10 2021-11-10 接口访问控制方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116108417A true CN116108417A (zh) 2023-05-12

Family

ID=86260270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111328399.2A Pending CN116108417A (zh) 2021-11-10 2021-11-10 接口访问控制方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116108417A (zh)

Similar Documents

Publication Publication Date Title
CN108632253B (zh) 基于移动终端的客户数据安全访问方法及装置
CN111262889B (zh) 一种云服务的权限认证方法、装置、设备及介质
CN110535971B (zh) 基于区块链的接口配置处理方法、装置、设备及存储介质
CN111355726B (zh) 一种身份授权登录方法、装置及电子设备和存储介质
CN110598434B (zh) 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质
CN110245518B (zh) 一种数据存储方法、装置及设备
US20210099431A1 (en) Synthetic identity and network egress for user privacy
US20220197970A1 (en) Systems and methods for improved remote display protocol for html applications
CN111666565A (zh) 沙箱仿真测试方法、装置、计算机设备和存储介质
CN110908786A (zh) 一种智能合约调用方法、装置及介质
CN113225324B (zh) 区块链匿名账户创建方法、系统、设备及存储介质
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
CN114207613A (zh) 用于激励式入侵检测系统的技术
CN113190322A (zh) 页面获取方法、相关设备及介质
CN111083093A (zh) 调用端能力的方法和装置
CN113569166A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN116484338A (zh) 数据库访问方法及装置
CN111783051A (zh) 身份认证方法及装置和电子设备
CN117751551A (zh) 用于安全互联网通信的系统和方法
CN114462096A (zh) 基于区块链的物联网设备控制方法、装置、计算机设备及存储介质
CN115730319A (zh) 数据处理方法、装置、计算机设备和存储介质
CN110516172B (zh) 资源调用方法、装置、计算机设备和存储介质
CN111597537A (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN112836186A (zh) 一种页面控制方法及装置
CN116108417A (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