一种应用程序编程接口API权限管理方法与装置制造方法及图纸

技术编号:15725037 阅读:60 留言:0更新日期:2017-06-29 12:10
本申请公开了一种应用程序编程接口API权限管理方法与装置,用于解决现有技术中的API权限管理方法耗费网络资源较大的问题。该方法包括:第一应用APP接收第二APP发送的API调用请求;其中,所述第二APP是植入到第一APP中的寄生APP;根据所述API调用请求,确定所述第二APP所要调用的API的安全等级;根据所述安全等级,判断是否需要对所述第二APP进行鉴权;若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;否则,允许所述第二APP调用所述API。

【技术实现步骤摘要】
一种应用程序编程接口API权限管理方法与装置
本申请涉及计算机
,尤其涉及一种API权限管理方法与装置。
技术介绍
实际应用中,一些应用(Application,APP)开发者为了使得自己开发的APP能够得到用户更多的关注和使用,便将自己开发的APP植入到目前使用量较大的本地APP中。其中,可将植入的APP称为寄生APP,将本地APP称为宿主APP。例如,如图1a所示,图1a所显示的界面为宿主APP的用户界面,该用户界面中的“XX打车”这一图标对应的APP为寄生APP。若用户点击该图标,该寄生APP便会显示出“XX打车”这一寄生APP的用户界面,供用户使用。其中,寄生APP的正常运行,依赖于宿主APP中的容器应用程序编程接口(ApplicationProgrammingInterface,API)。当用户点击寄生APP的用户界面中的某一控件后,寄生APP便调用容器中相应的API,来完成相应的操作。沿用上例,如图1b所示的用户界面为“XX打车”这一寄生APP的用户界面。该界面中包含出发地点输入框、目的地点输入框、定位出发地点控件以及确定控件。若用户点击了定位出发地点这一控件,“XX打车”这一寄生APP便会调用容器中相应的API,以使得寄生APP能够调用设备中的全球定位系统(GlobalPositioningSystem,GPS)来定位当前设备所在的地理位置,在定位成功后,“XX打车”这一寄生APP便将定位出的出发地点显示在出发地点输入框中,此时的用户界面如图1c所示。现有技术中,有的宿主APP的开发者不对宿主APP容器中的API的调用设置任何限制,即只要寄生APP向宿主APP发起API调用请求,宿主APP便允许调用相应的API。但是这可能会造成宿主APP的运行环境不安全。沿用上例,若用户通过“XX打车”这一寄生APP打到了出租车,并且成功到达了目的地后,那么该寄生APP便会弹出付款页面。假设需付车费15元,则该寄生APP便会调用宿主APP的容器中相应的API,以告知宿主APP应支付15元。但是在寄生APP向宿主APP发送API调用请求的过程中,若黑客恶意篡改了API调用请求中的内容,将收款方篡改成了其他人,就会造成财产损失。为了解决上述不安全问题,现有技术中,宿主APP可对其容器中的API进行鉴权管理,只有通过了鉴权,宿主APP才会允许寄生APP调用容器中的API。具体的,寄生APP将API调用请求中的内容用私钥进行加密,并将加密后得到的密文内容以及明文均发给宿主APP,宿主APP将该些内容发送给服务器。服务器接收到密文内容和明文后,采用本地保存的公钥进行验签,若通过,则服务器向宿主APP返回允许调用的通知,宿主APP便允许寄生APP调用容器中的API,否则,服务器向宿主APP返回拒绝调用的通知,宿主APP便拒绝寄生APP调用容器中的API。虽然上述方法可以保证宿主APP运行环境的安全性,但是,每次寄生APP调用宿主APP容器中的API时,宿主APP均会向服务器发起鉴权,导致网络资源耗费较大。
技术实现思路
本申请实施例提供一种API权限管理方法与装置,用以解决现有技术中API权限管理方法存在的耗费网络资源较大的问题。本申请实施例采用下述技术方案:一种应用程序编程接口API权限管理方法,包括:第一应用APP接收第二APP发送的API调用请求;其中,所述第二APP是植入到第一APP中的寄生APP;根据所述API调用请求,确定所述第二APP所要调用的API的安全等级;根据所述安全等级,判断是否需要对所述第二APP进行鉴权;若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;否则,允许所述第二APP调用所述API。一种应用程序编程接口API权限管理方法,包括:第二应用APP确定所要调用的API的安全等级;根据确定出的安全等级,向第一APP发送API调用请求,以使得所述第一APP根据所述API调用请求,确定所述API的安全等级,并根据所述安全等级,判断是否需要对所述第二APP进行鉴权,若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;若否,则允许所述第二APP调用所述API,其中,所述第二APP是植入到第一APP中的寄生APP。一种应用程序编程接口API权限管理装置,包括:接收模块,第一应用APP接收第二APP发送的API调用请求;其中,所述第二APP是植入到第一APP中的寄生APP;确定模块,根据所述API调用请求,确定所述第二APP所要调用的API的安全等级;判断模块,根据所述安全等级,判断是否需要对所述第二APP进行鉴权;鉴权模块,若所述判断模块判断出需要对所述第二APP进行鉴权,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;若判断出不需要对所述第二APP进行鉴权,允许所述第二APP调用所述API。一种应用程序编程接口API权限管理装置,包括:确定模块,第二应用APP确定所要调用的API的安全等级;发送模块,根据所述确定模块确定出的安全等级,向第一APP发送API调用请求,以使得所述第一APP根据所述API调用请求,确定所述API的安全等级,并根据所述安全等级,判断是否需要对所述第二APP进行鉴权;若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;若否,则允许所述第二APP调用所述API,其中,所述第二APP是植入到第一APP中的寄生APP。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:当第二APP要调用第一APP中的API时,第一APP对应的服务器并非每次都对第二APP进行鉴权。第一APP在接收到第二APP发送的API调用请求后,会根据该API调用请求中的API的标识,确定该API的安全等级,并根据该安全等级,判断是否需要对该第二APP进行鉴权。若需要对第二APP进行鉴权,便将API调用请求发送给服务器,以便服务器进行鉴权,若不需要对第二APP进行鉴权,便不对第二APP进行鉴权,直接允许调用,可有效节省网络资源。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1a为现有技术中宿主APP的用户界面;图1b为现有技术中寄生APP的用户界面;图1c为现有技术中寄生APP的定位界面。图2a为本申请实施例提供的一种API权限管理方法的具体流程示意图;图2b为本申请实施例提供的当API安全等级为第二等级时的一种API权限管理方法的具体流程示意图;图2c为本申请实施例提供的第一APP的注入平台的注册页面;图2d为本申请实施例提供的当API安全等级为第二等级时的另一种API权限管理方法的具体流程示意图;图2本文档来自技高网
...
一种应用程序编程接口API权限管理方法与装置

【技术保护点】
一种应用程序编程接口API权限管理方法,其特征在于,所述方法包括:第一应用APP接收第二APP发送的API调用请求;其中,所述第二APP是植入到第一APP中的寄生APP;根据所述API调用请求,确定所述第二APP所要调用的API的安全等级;根据所述安全等级,判断是否需要对所述第二APP进行鉴权;若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;否则,允许所述第二APP调用所述API。

【技术特征摘要】
1.一种应用程序编程接口API权限管理方法,其特征在于,所述方法包括:第一应用APP接收第二APP发送的API调用请求;其中,所述第二APP是植入到第一APP中的寄生APP;根据所述API调用请求,确定所述第二APP所要调用的API的安全等级;根据所述安全等级,判断是否需要对所述第二APP进行鉴权;若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;否则,允许所述第二APP调用所述API。2.如权利要求1所述的方法,其特征在于,根据所述API调用请求,确定所述第二APP所要调用的API的安全等级,具体包括:根据所述API调用请求中包含的第二APP所要调用的API的标识,确定所述第二APP所要调用的API的安全等级。3.如权利要求1所述的方法,其特征在于,根据所述安全等级,判断是否需要对所述第二APP进行鉴权,具体包括:若所述安全等级为第一等级,则判定不需要对所述第二APP进行鉴权;若所述安全等级不是第一等级,则判定需要对所述第二APP进行鉴权。4.如权利要求3所述的方法,其特征在于,当所述安全等级为第二等级时,所述API调用请求中携带所述第二APP所要调用的API的标识、所述第二APP的标识与所述第二APP的标识对应的令牌;将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,具体包括:将所述API调用请求发送给服务器,以使得所述服务器根据API调用请求中的第二APP的标识,在所述服务器本地查找与所述第二APP的标识相对应的令牌,并判断查找到的令牌与所述API调用请求中携带的令牌是否相同,若是,则鉴权通过,否则,鉴权不通过。5.如权利要求3所述的方法,其特征在于,当所述安全等级为第三等级时,所述API调用请求中携带所述第二APP所要调用的API的标识、所述第二APP的标识与所述第二APP的标识对应的令牌;将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,具体包括:将所述API调用请求发送给服务器,以使得所述服务器根据API调用请求中的第二APP的标识,在所述服务器本地查找与所述第二APP的标识相对应的令牌,并在所述服务器本地查找所述第二APP有权限调用的各API的标识,若查找到的令牌与所述API调用请求中的令牌相同,且查找到的各API的标识中存在所述API调用请求中携带的API的标识,则鉴权通过,否则,鉴权不通过。6.如权利要求3所述的方法,其特征在于,当所述安全等级为第四等级时,所述API调用请求中携带所述第二APP所要调用的API的标识、所述第二APP的标识、密文内容;其中,所述密文内容是第二APP采用私钥将所述API的标识和所述第二APP的标识进行加密得到的;将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,具体包括:将所述API调用请求发送给服务器,以使得所述服务器根据API调用请求中的第二APP的标识,采用与所述第二APP的标识对应的公钥对所述密文内容进行验证,并在所述服务器本地查找所述第二APP有权限调用的各API的标识,若验证通过且查找到的各API的标识中存在所述API调用请求中携带的API的标识,则鉴权通过,否则,鉴权不通过。7.一种应用程序编程接口API权限管理方法,其特征在于,所述方法包括:第二应用APP确定所要调用的API的安全等级;根据确定出的安全等级,向第一APP发送API调用请求,以使得所述第一APP根据所述API调用请求,确定所述API的安全等级,并根据所述安全等级,判断是否需要对所述第二APP进行鉴权,若是,则将所述API调用请求发送给服务器,以使得服务器根据所述API调用请求对所述第二APP进行鉴权,并根据所述服务器返回的鉴权结果允许或拒绝所述第二APP调用所述API;若否,则允许所述第二APP调用所述API,其中,所述第二APP是植入到第一APP中的寄生APP。8.如权利要求7所述的方法,其特征在于,确定所要调用的API的安全等级,具体包括:根据所要调用的API的标识,确定所述API的安全等级。9.如权利要求7所述的方法,其特征在于,当确定出的所述安全等级为第一等级时,根据确定出的安全等级,向第一APP发送API调用请求,具体包括:将所述第二APP所要调用的API的标识携带在所述API调用请求中,并将所述API调用请求发送给所述第一APP,以使得所述第一APP在根据所述API请求中的所述API的标识确定出所述API的安全等级为第一等级时,确定不需要鉴权,并允许所述第二APP调用所述API。10.如权利要求7所述的方法,其特征在于,当确定出的所述安全等级为第二等级或第三等级时,根据确定出的安全等级,向第一APP发送API调用请求,具体包括:将所述第二APP所要调用的API的标识、所述第二APP的标识与所述第二APP的标识对应的令牌携带在所述API调用请求中,并将所述API调用请求发送给所述第一APP,以使得所述第一APP在根据所述API调用请求中的所述API的标识确定出所述API的安全等级为第二等级或第三等级时,将所述API调用请求发送给服务器,以便服务器对所述第二APP进行鉴权。11.如权利要求10所述的方法,其特征在于,将与所述第二APP的标识对应的令牌携带在所述API调用请求中,具体包括:若所述第二APP本地存在所述令牌且存在的所述令牌未过期,则将与所述第二APP的标识对应的令牌携带在所述API调用请求中;若所述第二APP本地不存在所述令牌或存在的所述令牌过期,则所述第二APP向服务器发送获取令牌请求,接收服务器返回的令牌,将接收到的令牌携带在所述API调用请求中。12.如权利要求7所述的方法,其特征在于,当确定出的所述安全等级为第四等级时,根据确定出的安全等级,向第一APP发送API调用请求,具体包括:第二APP采用私钥将所述API的标识和所述第二APP的标识进行加密得到密文内容;将所述第二APP所要调用的API的标识、所述第二APP的标识、密文内容携带在所述API调用请求中,并将...

【专利技术属性】
技术研发人员:华洁
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1