CN117235708B - 应用程序运行时的接口授权调用方法、装置、系统和介质 - Google Patents
应用程序运行时的接口授权调用方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN117235708B CN117235708B CN202311503350.5A CN202311503350A CN117235708B CN 117235708 B CN117235708 B CN 117235708B CN 202311503350 A CN202311503350 A CN 202311503350A CN 117235708 B CN117235708 B CN 117235708B
- Authority
- CN
- China
- Prior art keywords
- interface
- authorization
- application
- call
- token
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 224
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请提供一种应用程序运行时的接口授权调用方法、装置、系统和介质,当根据第一唯一标识检查到接口调用服务提供方存在且可访问时,获取申请接口调用方的第二唯一标识;将第二唯一标识和请求参数作为申请授权参数,向接口调用服务提供方发送;根据申请授权参数生成接口调用授权信息;对接口调用授权信息和申请接口调用方进行绑定,编码生成接口调用令牌,将接口调用令牌发送给申请接口调用方;当检测到申请接口调用方发起接口调用时,根据接口调用令牌调用待调用授权接口。动态生成接口调用令牌进行应用程序之间的接口授权调用,无需事先设定注册申请接口调用的应用和接口,且避免创建授权记录和固定授权信息,减少系统空间开销,降低安全隐患。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种应用程序运行时的接口授权调用方法、装置、系统和介质。
背景技术
在嵌入式操作系统内应用程序管理技术领域,操作系统为应用程序提供运行环境和数据存取等能力,尤其是多个应用程序在运行环境中运行时,一方面,操作系统需要为每个应用运行建立安全独立的运行环境和数据存取环境,另一方面,操作系统还需要为应用程序运行提供合法的资源共享和访问机制,以便于充分利用应用程序的公用代码资源和应用程序之间可共享数据资源。
因此,应用程序之间共享各自的程序接口和程序数据是满足这一实际需求的通用常见的方法。
传统的实现应用程序接口授权调用的方法需要事先设定并注册将来申请接口调用的应用和接口,创建授权记录和固定授权信息,造成系统空间开销较大,安全隐患较高。
发明内容
有鉴于此,提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本申请的目的在于提供一种应用程序运行时的接口授权调用方法、装置、系统和介质,可以减少系统空间开销,降低安全隐患。
为实现上述目的,本申请有如下技术方案:
第一方面,本申请实施例提供了一种应用程序运行时的接口授权调用方法,包括:
获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息;
当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识;
将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送;
当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息;
对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方;
当检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
在一种可能的实现方式中,所述根据所述接口调用令牌调用所述待调用授权接口,包括:
获取所述接口调用令牌,并检查所述接口调用令牌是否授权所述待调用授权接口;
当授权时,则调用所述待调用授权接口。
在一种可能的实现方式中,所述获取所述接口调用令牌,包括:
获取所述待调用授权接口的第一参数;所述第一参数中存储有所述接口调用令牌;
从所述第一参数中获取所述接口调用令牌。
在一种可能的实现方式中,所述获取所述接口调用令牌,包括:
获取所述发起接口调用时的上下文数据;所述上下文数据中存储有所述接口调用令牌;
从所述上下文数据中获取所述接口调用令牌。
第二方面,本申请实施例提供了一种应用程序运行时的接口授权调用装置,包括:
第一获取单元,用于获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息;
第二获取单元,用于当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识;
发送单元,用于将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送;
生成单元,用于当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息;
编码单元,用于对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方;
调用单元,用于当检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述接口调用令牌,并检查所述接口调用令牌是否授权所述待调用授权接口;
当授权时,则调用所述待调用授权接口。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述待调用授权接口的第一参数;所述第一参数中存储有所述接口调用令牌;
从所述第一参数中获取所述接口调用令牌。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述发起接口调用时的上下文数据;所述上下文数据中存储有所述接口调用令牌;
从所述上下文数据中获取所述接口调用令牌。
第三方面,本申请实施例提供了一种应用程序运行时的接口授权调用系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述应用程序运行时的接口授权调用方法的步骤。
第四方面,本申请实施例提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理执行时实现如上述所述应用程序运行时的接口授权调用方法的步骤。
与现有技术相比,本申请实施例具有以下有益效果:
本申请实施例提供了一种应用程序运行时的接口授权调用方法、装置、系统和介质,该方法包括:获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;请求参数包括待调用授权接口信息;当根据第一唯一标识检查到接口调用服务提供方存在且可访问时,则获取申请接口调用方的第二唯一标识;将第二唯一标识和请求参数作为申请授权参数,向接口调用服务提供方发送;当根据申请授权参数检查到申请接口调用方存在且可访问,且待调用授权接口满足授权调用条件时,则根据申请授权参数生成接口调用授权信息;对接口调用授权信息和申请接口调用方进行绑定,编码生成接口调用令牌,将接口调用令牌发送给申请接口调用方;当检测到申请接口调用方发起接口调用时,则根据接口调用令牌调用待调用授权接口。本申请通过动态生成接口调用令牌的方式进行应用程序之间的接口授权调用,无需事先设定并注册将来申请接口调用的应用和接口信息,且避免了创建授权记录和固定授权信息,可以减少系统空间开销,降低安全隐患。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1示出了本申请实施例提供的一种应用程序运行时的接口授权调用方法的流程图;
图2示出了本申请实施例提供的一种应用程序运行时的接口授权调用装置的示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例的限制。
正如背景技术中的描述,经申请人研究发现,在嵌入式操作系统内应用程序管理技术领域,操作系统为应用程序提供运行环境和数据存取等能力,尤其是多个应用程序在运行环境中运行时,一方面,操作系统需要为每个应用运行建立安全独立的运行环境和数据存取环境,另一方面,操作系统还需要为应用程序运行提供合法的资源共享和访问机制,以便于充分利用应用程序的公用代码资源和应用程序之间可共享数据资源。
因此,应用程序之间共享各自的程序接口和程序数据是满足这一实际需求的通用常见的方法。
对于不同的编程语言而言,程序接口代码的共享方式有很大的差别,尤其是常用的面向对象和面向过程这两种编程方法。
具体的,在面向对象的编程语言环境中,与对象无关的接口和数据,通常可被其它应用程序代码直接调用和访问,如静态类型的数据和方法,否则,只能通过对象本身来访问所属对象的基本元素(包含数据和接口),如果要访问某一接口,则需要首先得到这些接口所属的接口对象,然后再通过接口对象调用该接口对象拥有的接口方法,除此之外,对于没有对象概念的编程环境中,通常情况下,程序开发者会将可被其它应用程序调用的接口程序代码打包成一个静态链接库或者动态链接库,在应用程序编译阶段方便开发者使用。
这两种库文件的使用方法有所不同,其中,在编译应用程序代码时,静态链接库中被调用的接口代码会跟应用程序代码一起被编译生成可执行文件,而动态链接库文件中的被调用程序代码只参与编译,不与应用程序代码一起链接生成可执行文件。当应用程序在操作系统的应用程序运行环境中运行时,动态链接库文件必须在所属运行环境中事先被加载,操作系统的应用程序运行环境根据链接信息负责提供接口调用能力,使得应用程序能调用到其它应用程序提供的接口代码。
在嵌入式操作系统中运行多个不同的应用程序,尤其是在没有面向对象编程方法的环境下,不同应用程序之间开放指定的接口给其它应用程序调用,往往采用类似动态链接库的方法编译时建立好调用链接信息,通常情况下,在动态链接库中的程序代码可以被其它应用程序调用,这些接口调用并没有安全保护,因此,通常用在不需要安全保护的应用场景中。在需要安全保护的运行场景中,考虑到接口所访问的数据归属于应用本身,为了满足运行时应用之间有条件的访问数据的需求,同时兼具安全环境允许,即应用程序A调用应用程序B的接口,需要得到应用程序B的授权,这样方可安全运行。
相关技术中有如下两种方法:
1、在面向对象编程环境中,将接口类实例化成接口对象,应用程序A调用应用程序B的接口之前,需要先通过系统接口获得应用程序B实例化好的接口对象,然后在通过该对象调用接口。
2、在开发应用程序B时,事先假设将来会有应用程序A需要调用应用程序B的接口,于是,将应用程序A的唯一标识AID(应用标识,application identifier)和允许应用程序A调用的接口信息注册到运行环境,以便应用程序A调用应用程序B的接口时,运行环境检查调用合法性。
上述方法1主要适用面向对象编程的应用程序及其运行环境,无法应用到面向过程的应用程序及其运行环境。
上述方法2能有效实现应用程序的接口授权调用,但有以下几个问题:
1、需要在应用程序安装时事先设定可被调用的接口和特定的应用程序标识AID,无法在应用程序运行过程中动态适配授权。
2、注册到运行环境中的接口信息被创建为接口授权记录存储在非易失性存储空间,在接口不被调用的情况下浪费存储空间。
3、客户端应用调用接口前申请授权时,如果需要调用多个接口调用服务提供方应用程序的接口,需要申请多个授权,此时运行环境需要缓存这些权限,造成空间额外开销,并且调用接口时不同的服务提供方应用授予的权限不能交叉使用。
综上所述,传统的实现应用程序接口授权调用的方法需要事先设定并注册将来申请接口调用的应用和接口,创建授权记录和固定授权信息,造成系统空间开销较大,安全隐患较高。
在实际业务需口调用方;当检测到申请接口调用方发起接口调用时,则根据接口调用令牌调用待调用授权接口。本申请通过动态生成接口调用令牌的方式进行应用程序之间的接口授权调用,无需事先设定并注册将来申请接口调用的应用和接口,且避免了创建授权记录和固定授权信息,可以减少系统空间开销,降低安全隐患。
参见图1所示,为本申请实施例提供的一种应用程序运行时的接口授权调用方法的流程图,包括:
S101:获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息。
S102:当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识。
S103:将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送。
S104:当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息。
在本申请实施例中,当要进行待调用授权接口的调用授权时,首先需要利用应用运行环境获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;请求参数包括待调用授权接口信息。
具体的,授权服务接口是运行环境为每个应用程序定义的接口,该接口被接口调用服务提供方应用实现,且被运行环境调用。
当申请接口调用方通过运行环境申请授权时,运行环境将申请接口调用方的第二唯一标识和请求参数传递给接口调用服务提供方的授权服务接口,授权服务接口可根据业务逻辑检查申请授权的申请接口调用方是否满足授权条件,决定授予哪些接口允许被申请接口调用方调用,即决定接口调用服务提供方应用中的哪些接口作为待调用授权接口,并生成接口调用授权信息。
具体的,本申请实施例提供的待调用授权接口信息可以包括待调用授权接口的唯一标识和接口指针等信息。待调用授权接口可以是一个接口也可以是一组多个接口,本申请实施例在此不做具体限定,具体可由本领域技术人员根据实际情况进行设定。
然后,应用运行环境根据第一唯一标识检查接口调用服务提供方是否存在且可访问,如不存在或不可访问,则拒绝申请。否则,获取申请接口调用方的第二唯一标识,作为下一步的输入参数。
具体的,可以将第二唯一标识和请求参数作为申请授权参数,向接口调用服务提供方的授权服务接口发送,以便后续调用接口调用服务提供方的授权服务接口。
接口调用服务提供方接收到申请授权参数后,可以检查第二唯一标识所标识的申请接口调用方是否存在且可访问,根据请求参数检查待调用授权接口满足授权调用条件。举例来说,授权调用条件可以是该待调用授权接口具有可调用标识。可调用标识可以在应用程序的开发阶段预先标识好,即可以由接口调用服务提供方的应用程序为其他应用程序预先设计定为可授权接口。
如不满足上述条件,则拒绝申请。否则,则根据申请授权参数生成接口调用授权信息,以保证只有申请接口调用方才能调用待调用授权接口,并将该数据返回给应用运行环境。从而可以提高应用程序运行时的接口授权调用的安全性,避免未授权的其他方调用接口,造成安全隐患。
S105:对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方。
S106:当运行环境检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
在本申请实施例中,根据申请授权参数生成接口调用授权信息,可以由接口调用服务提供方生成并发送到应用运行环境。
应用运行环境获得接口调用授权信息后,对接口调用授权信息进行编码生成接口调用令牌TOKEN,使得该接口调用令牌只能被应用运行环境访问,避免被篡改。应用运行环境将接口调用令牌TOKEN返回给申请接口调用方应用。
具体的,接口调用令牌是基于接口调用授权信息编码生成,为了保证数据安全和不可篡改,接口调用令牌不可以被任何应用程序进行访问,编码过程是用来将接口调用授权信息进行特殊标识,运行环境识别特殊标识并限制访问的过程。
当检测到申请接口调用方发起接口调用时,则根据接口调用令牌调用待调用授权接口。
具体的,为了保证运行环境在实施接口调用时,对申请接口调用方和待调用授权接口是否满足授权条件进行检查,需要将申请接口调用方获得的接口调用令牌传递给运行环境进行检查。当检查通过后,则意味着申请接口调用方发起接口调用,可以根据接口调用令牌调用待调用授权接口。
本申请实施例实现了应用程序运行时动态授权接口调用的功能,可以避免事先设定并注册将来申请接口调用的应用和接口,创建授权记录,减少空间开销。且应用程序申请多个授权接口调用时,避免运行环境开销内存缓存多个授权信息。同时,由接口调用服务提供方的应用程序实现授权服务接口,动态根据当前条件给申请方应用程序进行接口调用授权,也可根据业务和状态进行修改授权接口信息,以便灵活控制授权状态,避免创建授权记录和固定授权信息,造成安全隐患。接口调用授权信息归属接口调用服务提供方的应用程序,相关内存开销随着应用的删除进行自动回收,避免系统额外管理通过注册生成的接口授权记录,简化管理逻辑。
在一种可能的实现方式中,本申请实施例提供的根据接口调用令牌调用待调用授权接口,具体可以包括:
获取接口调用令牌,并检查接口调用令牌是否授权待调用授权接口;当授权时,则调用所述待调用授权接口。
具体的,运行环境检测到申请接口调用方发起接口调用时,检查接口调用令牌TOKEN与即将被调用的接口是否满足授权,如不满足则拒绝调用。否则,运行环境执行接口调用,并将当前的申请接口调用方应用切换至接口调用服务提供方应用,以保证接口调用服务提供方应用数据访问安全。完成接口代码执行后,将接口运行的结果直接返回给申请接口调用方应用。
授权条件可以由接口调用服务提供方设置,授权条件可根据业务逻辑和/或应用实时状态等因素临时调整,使得接口调用服务提供方可根据条件控制授权结果。
举例来说,当接口调用令牌中的待调用授权接口信息与待调用授权接口一致,且待调用授权接口存在且可访问时,则可以认为满足授权条件,可以进行调用。
在一种可能的实现方式中,本申请实施例提供的获取接口调用令牌,具体可以包括:
获取待调用授权接口的第一参数;第一参数中存储有接口调用令牌;从第一参数中获取接口调用令牌。
具体的,第一参数即为接口参数表中的第一个参数,即接口调用令牌显示表示存储在接口参数表中,对于接口调用服务提供方的应用程序自己调用待调用授权接口时,第一参数可传入NULL值,不需要授权。
将接口调用令牌存储在接口参数表中,接口调用令牌与待调用授权接口一一对应,便于管理。但第一参数只供系统检查使用,需要开销一个参数资源。
在一种可能的实现方式中,本申请实施例提供的获取接口调用令牌,具体可以包括:
获取发起接口调用时的上下文数据;上下文数据中存储有接口调用令牌;从上下文数据中获取接口调用令牌。
具体的,将接口调用令牌设置到申请接口调用方当前上下文,当调用接口事件发生时,运行环境通过当前上下文数据获取接口调用令牌,并检查待调用授权接口与接口调用令牌是否满足授权条件。
这样,待调用授权接口不需要额外开销一个参数资源。但接口调用令牌与待调用授权接口不能一一对应,需要在调用接口前额外使用上下文接口管理接口调用令牌。
本申请实施例提供了一种应用程序运行时的接口授权调用方法,该方法包括:获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;请求参数包括待调用授权接口信息;当根据第一唯一标识检查到接口调用服务提供方存在且可访问时,则获取申请接口调用方的第二唯一标识;将第二唯一标识和请求参数作为申请授权参数,向接口调用服务提供方的授权服务接口发送;当根据申请授权参数检查到申请接口调用方存在且可访问,且待调用授权接口满足授权调用条件时,则根据申请授权参数生成接口调用授权信息;对接口调用授权信息和申请接口调用方进行绑定,编码生成接口调用令牌,将接口调用令牌发送给申请接口调用方;当检测到申请接口调用方发起接口调用时,则根据接口调用令牌调用待调用授权接口。本申请通过动态生成接口调用令牌的方式进行应用程序之间的接口授权调用,无需事先设定并注册将来申请接口调用的应用和接口,且避免了创建授权记录和固定授权信息,可以减少系统空间开销,降低安全隐患。
参见图2所示,为本申请实施例提供的一种应用程序运行时的接口授权调用装置的示意图,包括:
第一获取单元201,用于获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息;
第二获取单元202,用于当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识;
发送单元203,用于将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送;
生成单元204,用于当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息;
编码单元205,用于对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方;
调用单元206,用于当检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述接口调用令牌,并检查所述接口调用令牌是否授权所述待调用授权接口;
当授权时,则调用所述待调用授权接口。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述待调用授权接口的第一参数;所述第一参数中存储有所述接口调用令牌;
从所述第一参数中获取所述接口调用令牌。
在一种可能的实现方式中,所述调用单元,具体用于:
获取所述发起接口调用时的上下文数据;所述上下文数据中存储有所述接口调用令牌;
从所述上下文数据中获取所述接口调用令牌。
本申请实施例提供了一种应用程序运行时的接口授权调用装置,应用于该装置的方法包括:获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;请求参数包括待调用授权接口信息;当根据第一唯一标识检查到接口调用服务提供方存在且可访问时,则获取申请接口调用方的第二唯一标识;将第二唯一标识和请求参数作为申请授权参数,向接口调用服务提供方的授权服务接口发送;当根据申请授权参数检查到申请接口调用方存在且可访问,且待调用授权接口满足授权调用条件时,则根据申请授权参数生成接口调用授权信息;对接口调用授权信息和申请接口调用方进行绑定,编码生成接口调用令牌,将接口调用令牌发送给申请接口调用方;当检测到申请接口调用方发起接口调用时,则根据接口调用令牌调用待调用授权接口。本申请通过动态生成接口调用令牌的方式进行应用程序之间的接口授权调用,无需事先设定并注册将来申请接口调用的应用和接口,且避免了创建授权记录和固定授权信息,可以减少系统空间开销,降低安全隐患。
在上述实施例的基础上,本申请实施例提供了一种应用程序运行时的接口授权调用系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述应用程序运行时的接口授权调用方法的步骤。
在上述实施例的基础上,本申请实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理执行时实现如上述应用程序运行时的接口授权调用方法的步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述系统中所包含的;也可以是单独存在,而未装配入该系统中。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅是本申请的优选实施方式,虽然本申请已以较佳实施例披露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。
Claims (10)
1.一种应用程序运行时的接口授权调用方法,其特征在于,包括:
获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息;
当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识;
将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送;
当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息;
对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方;
当检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
2.根据权利要求1所述的方法,其特征在于,所述根据所述接口调用令牌调用所述待调用授权接口,包括:
获取所述接口调用令牌,并检查所述接口调用令牌是否授权所述待调用授权接口;
当授权时,则调用所述待调用授权接口。
3.根据权利要求2所述的方法,其特征在于,所述获取所述接口调用令牌,包括:
获取所述待调用授权接口的第一参数;所述第一参数中存储有所述接口调用令牌;
从所述第一参数中获取所述接口调用令牌。
4.根据权利要求2所述的方法,其特征在于,所述获取所述接口调用令牌,包括:
获取所述发起接口调用时的上下文数据;所述上下文数据中存储有所述接口调用令牌;
从所述上下文数据中获取所述接口调用令牌。
5.一种应用程序运行时的接口授权调用装置,其特征在于,包括:
第一获取单元,用于获取申请接口调用方发送的接口调用服务提供方的第一唯一标识和请求参数;所述请求参数包括待调用授权接口信息;
第二获取单元,用于当根据所述第一唯一标识检查到所述接口调用服务提供方存在且可访问时,则获取所述申请接口调用方的第二唯一标识;
发送单元,用于将所述第二唯一标识和所述请求参数作为申请授权参数,向所述接口调用服务提供方发送;
生成单元,用于当根据所述申请授权参数检查到所述申请接口调用方存在且可访问,且所述待调用授权接口满足授权调用条件时,则获取所述接口调用服务提供方根据所述申请授权参数生成的接口调用授权信息;
编码单元,用于对所述接口调用授权信息和所述申请接口调用方进行绑定,编码生成接口调用令牌,将所述接口调用令牌发送给所述申请接口调用方;
调用单元,用于当检测到所述申请接口调用方发起接口调用时,则根据所述接口调用令牌调用所述待调用授权接口。
6.根据权利要求5所述的装置,其特征在于,所述调用单元,具体用于:
获取所述接口调用令牌,并检查所述接口调用令牌是否授权所述待调用授权接口;
当授权时,则调用所述待调用授权接口。
7.根据权利要求6所述的装置,其特征在于,所述调用单元,具体用于:
获取所述待调用授权接口的第一参数;所述第一参数中存储有所述接口调用令牌;
从所述第一参数中获取所述接口调用令牌。
8.根据权利要求6所述的装置,其特征在于,所述调用单元,具体用于:
获取所述发起接口调用时的上下文数据;所述上下文数据中存储有所述接口调用令牌;
从所述上下文数据中获取所述接口调用令牌。
9.一种应用程序运行时的接口授权调用系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-4任意一项所述应用程序运行时的接口授权调用方法的步骤。
10.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机程序,所述计算机程序被处理执行时实现如权利要求1-4任意一项所述应用程序运行时的接口授权调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311503350.5A CN117235708B (zh) | 2023-11-13 | 2023-11-13 | 应用程序运行时的接口授权调用方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311503350.5A CN117235708B (zh) | 2023-11-13 | 2023-11-13 | 应用程序运行时的接口授权调用方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117235708A CN117235708A (zh) | 2023-12-15 |
CN117235708B true CN117235708B (zh) | 2024-03-26 |
Family
ID=89088402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311503350.5A Active CN117235708B (zh) | 2023-11-13 | 2023-11-13 | 应用程序运行时的接口授权调用方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235708B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844150A (zh) * | 2016-03-23 | 2016-08-10 | 青岛海信传媒网络技术有限公司 | 一种应用程序的数据保护方法和装置 |
CN108600268A (zh) * | 2018-05-09 | 2018-09-28 | 聚龙股份有限公司 | 一种应用于非授信认证的加密解密方法及非授信认证系统 |
US10320624B1 (en) * | 2013-09-30 | 2019-06-11 | Amazon Technologies, Inc. | Access control policy simulation and testing |
CN111639319A (zh) * | 2020-06-02 | 2020-09-08 | 北京字节跳动网络技术有限公司 | 用户资源授权方法、装置及计算机可读存储介质 |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112953719A (zh) * | 2019-11-26 | 2021-06-11 | 北京京东尚科信息技术有限公司 | 一种令牌认证方法和装置 |
CN114006755A (zh) * | 2021-10-29 | 2022-02-01 | 中国平安财产保险股份有限公司 | 接口调用权限的鉴别方法、系统、装置、设备和存储介质 |
CN114385268A (zh) * | 2022-01-14 | 2022-04-22 | 中国平安人寿保险股份有限公司 | 算法模型的调用方法、装置、计算机设备和存储介质 |
CN115080972A (zh) * | 2022-07-18 | 2022-09-20 | 国网智能电网研究院有限公司 | 一种电力移动终端接口异常访问的检测方法及装置 |
US11615403B1 (en) * | 2019-05-24 | 2023-03-28 | Workday, Inc. | System and method for dynamically retrieving an attribute value of an identity claim from an issuing party using a digitally signed access token |
CN115994004A (zh) * | 2023-03-22 | 2023-04-21 | 紫光同芯微电子有限公司 | 一种应用程序接口调用方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159840A1 (en) * | 2011-12-16 | 2013-06-20 | Microsoft Corporation | Document template dynamic token population |
US20230206219A1 (en) * | 2021-12-29 | 2023-06-29 | Duy Khuong | Identification token, systems and methods for identification and identity verification. |
-
2023
- 2023-11-13 CN CN202311503350.5A patent/CN117235708B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10320624B1 (en) * | 2013-09-30 | 2019-06-11 | Amazon Technologies, Inc. | Access control policy simulation and testing |
CN105844150A (zh) * | 2016-03-23 | 2016-08-10 | 青岛海信传媒网络技术有限公司 | 一种应用程序的数据保护方法和装置 |
CN108600268A (zh) * | 2018-05-09 | 2018-09-28 | 聚龙股份有限公司 | 一种应用于非授信认证的加密解密方法及非授信认证系统 |
US11615403B1 (en) * | 2019-05-24 | 2023-03-28 | Workday, Inc. | System and method for dynamically retrieving an attribute value of an identity claim from an issuing party using a digitally signed access token |
CN112953719A (zh) * | 2019-11-26 | 2021-06-11 | 北京京东尚科信息技术有限公司 | 一种令牌认证方法和装置 |
CN111639319A (zh) * | 2020-06-02 | 2020-09-08 | 北京字节跳动网络技术有限公司 | 用户资源授权方法、装置及计算机可读存储介质 |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN114006755A (zh) * | 2021-10-29 | 2022-02-01 | 中国平安财产保险股份有限公司 | 接口调用权限的鉴别方法、系统、装置、设备和存储介质 |
CN114385268A (zh) * | 2022-01-14 | 2022-04-22 | 中国平安人寿保险股份有限公司 | 算法模型的调用方法、装置、计算机设备和存储介质 |
CN115080972A (zh) * | 2022-07-18 | 2022-09-20 | 国网智能电网研究院有限公司 | 一种电力移动终端接口异常访问的检测方法及装置 |
CN115994004A (zh) * | 2023-03-22 | 2023-04-21 | 紫光同芯微电子有限公司 | 一种应用程序接口调用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117235708A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609279B (zh) | 在受限应用执行环境中的应用执行 | |
US9871800B2 (en) | System and method for providing application security in a cloud computing environment | |
JP7228751B2 (ja) | 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体 | |
US9769175B2 (en) | Accessing privileged objects in a server environment | |
CN111526111B (zh) | 登录轻应用的控制方法、装置和设备及计算机存储介质 | |
US20080168528A1 (en) | Role-based authorization using conditional permissions | |
CN111062028B (zh) | 权限管理方法及装置、存储介质、电子设备 | |
US20150341362A1 (en) | Method and system for selectively permitting non-secure application to communicate with secure application | |
CN109784039B (zh) | 移动终端安全运行空间的构建方法、电子设备、存储介质 | |
CN103514395A (zh) | 插件权限控制方法及系统 | |
CN112464176B (zh) | 一种权限管理方法、装置、电子设备及存储介质 | |
CN117235708B (zh) | 应用程序运行时的接口授权调用方法、装置、系统和介质 | |
CN114065157A (zh) | 一种多租户模式下的页面调度鉴权方法、设备及介质 | |
US11245701B1 (en) | Authorization pre-processing for network-accessible service requests | |
CN116501336A (zh) | 组件集成方法、装置、设备及存储介质 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN116450373A (zh) | 代码运行方法、装置、设备及计算机可读存储介质 | |
CN116668056A (zh) | 将oidc认证扩展到服务账户以实现双重授权 | |
CN115695400A (zh) | 一种Web页面与本地应用交互的方法及终端 | |
US11431711B2 (en) | Method, device and computer program product for service access | |
Lee et al. | Is your android app insecure? patching security functions with dynamic policy based on a java reflection technique | |
CN118747113A (zh) | 一种任务执行方法、装置、电子设备及计算机可读介质 | |
CN117278327B (zh) | 一种针对网络请求的访问控制方法及系统 | |
US20160188872A1 (en) | Method and system for runtime injection of secure applications | |
CN113300852B (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 |