CN104866743A - 一种浏览器中接口调用方法以及装置 - Google Patents
一种浏览器中接口调用方法以及装置 Download PDFInfo
- Publication number
- CN104866743A CN104866743A CN201510229524.2A CN201510229524A CN104866743A CN 104866743 A CN104866743 A CN 104866743A CN 201510229524 A CN201510229524 A CN 201510229524A CN 104866743 A CN104866743 A CN 104866743A
- Authority
- CN
- China
- Prior art keywords
- interface
- user
- authorization
- authorization result
- browser
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种浏览器中接口调用方法以及装置,包括:接收浏览器访问的网页中的客户端脚本所发出的接口授权请求;获取浏览器的当前登录用户对接口授权请求中携带的接口标识对应的接口的授权结果,其中,授权结果包括确认授权或确认不授权,确认授权的情况为当前登录用户具有授权资格且对接口标识对应的接口确认授权,确认不授权的情况为当前登录用户具有授权资格且对接口标识对应的接口确认不授权,或当前登录用户不具有授权资格;当授权结果为确认授权时,允许网页中的客户端脚本调用接口标识对应的接口。实现了在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种浏览器中接口调用方法以及装置。
背景技术
客户端脚本是使得浏览器页面丰富多彩的一个重要的技术,通过执行客户端脚本,就能响应用户的操作从而动态地变更网页的展示效果。由于客户端脚本使用方便而且效果极佳,现在越来越多的网页大量使用客户端脚本以完成各种各样的功能。为了满足网页制作者不断增长的功能需求,浏览器也需相应提供更多的接口以配合完成客户端脚本要求完成的功能。例如,若客户端脚本要求完成与服务器通信的功能,则必须提供访问网络的接口;若客户端脚本要求完成上传或下载文件的功能,则必须提供读写本地文件的接口;若客户端脚本要求完成播放音乐的功能,则必须提供访问音频设备的接口等等。
现有技术提供了一种为网页提供接口的方法,在浏览器中安装扩展。在浏览器安装扩展时,向用户展示扩展中需要访问到的接口,并请求用户的确认授权。如果用户确认授权,则扩展会被成功地安装到浏览器中。在扩展成功安装后,客户端脚本通过调用扩展则可以调用扩展所对应的接口。
但是,在上述方法中,一旦扩展被用户确认授权并成功安装后,任何客户端脚本都可以随意调用扩展从而调用扩展所对应的接口。然而,客户端脚本一般由网页制作人员所编写并嵌入到网页当中,当用户请求网页的同时一般也加载了嵌入在网页中的客户端脚本,而网页制作人员可以是任何人,包括恶意攻击者。所以,一旦用户在不知情的情况下请求了恶意攻击者所制作的网页时,就有可能被恶意攻击者利用嵌入在网页中的客户端脚本去访问接口,威胁到用户的数据安全。例如,恶意攻击者利用嵌入在网页中的客户端脚本去访问读写本地文件的接口,从而窃取用户的私隐数据。
发明内容
本发明实施例所要解决的技术问题在于,提供一种浏览器中接口调用方法以及装置,实现了在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
第一方面,本发明实施例提供了一种浏览器中接口调用方法,包括:
接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识;
获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格;
当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
可选的,所述当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口包括:
提示所述用户输入验证码,在所述用户输入验证码正确时允许所述网页中的客户端脚本调用所述接口。
可选的,所述获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果包括:
从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果,其中,所述授权列表包括所述接口标识与所述接口的授权结果的对应关系。
可选的,所述从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果之后,还包括:
确定发出所述接口授权请求的当前时间是否超过授权期限;
如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求。
可选的,所述方法还包括:
接收所述用户对所述接口标识对应的接口的授权结果的修改;
将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。
第二方面,本发明实施例提供了一种浏览器中接口调用装置,包括:
接收模块,用于接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识;
获取模块,用于获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格;
调用模块,用于当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
可选的,所述调用模块还用于提示所述用户输入验证码,在所述用户输入验证码正确时允许所述网页中的客户端脚本调用所述接口。
可选的,所述获取模块还用于从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果,其中,所述授权列表包括所述接口标识与所述接口的授权结果的对应关系。
可选的,所述装置还包括:
确定模块,用于确定发出所述接口授权请求的当前时间是否超过授权期限;
返回模块,用于如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求。
可选的,所述装置还包括修改模块,所述修改模块用于接收所述用户对所述接口标识对应的接口的授权结果的修改;以及将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。
通过实施本发明实施例,可以在用户通过浏览器访问网页时,识别用户的身份,然后接收网页中的客户端脚本所发出的接口授权请求,并在根据接口授权请求确认具有授权资格的用户对客户端脚本所调用的接口已授权后,才允许调用已被授权的接口。与现有技术相比,本发明能够避免现有技术中一旦扩展后,就任何人都可以调用接口,而是在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明浏览器中接口调用方法一实施方式的流程图;
图2是本发明浏览器中接口调用方法另一实施方式的流程图;
图3是本发明浏览器中接口调用方法另一实施方式中授权界面的示意图;
图4是本发明浏览器中接口调用装置一实施方式的结构示意图;
图5是本发明浏览器中接口调用装置另一实施方式的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
参见图1,图1是本发明浏览器中接口调用方法一实施方式的流程图。该方法包括:
浏览器开发人员可预先设计好多个类别的接口,并将设计好的接口类别、接口名称、版本号、输入和输出等信息记载在一个接口文档中,然后,将这个接口文档公布给网页制作人员。这样,网页制作人员通过查询接口文档中的版本号,就可以知道浏览器支持哪些接口。表1是接口文档的其中一个例子,如表1中所示,版本号为1的浏览器支持browserName接口、interfaceVersion接口、deviceType接口、require接口、download接口、playAudio接口以及readHistory接口。其中,browserName接口、interfaceVersion接口、deviceType接口以及require接口是公有类接口,可以被任何人所调用;download接口、playAudio接口以及readHistory接口是私有类接口,只有在授权结果为确认授权时,才能被调用。当需要调用接口时,需按照“输入”输入信息,在接口被调用后,将按照“输出”输出信息。
表1接口信息
网页制作人员在通过版本号查询得到接口信息后,则可以根据接口信息设计客户端脚本,并制作网页。
可以理解的是,这里所列出的各种接口只是用于举例,而并非限定。在其他的实施方式中,也可以是其他的接口,或者其他的接口和上述的接口的任意组合。
S101:接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识。
具体地,由于客户端脚本一般由网页制作人员所编写并嵌入到网页当中,当用户请求网页的同时一般也加载了嵌入在网页中的客户端脚本。如果客户端脚本需要调用某个接口时,则客户端脚本会发出接口授权请求,其中,接口授权请求包含了客户端脚本所调用的接口的标识。
S102:获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格。
具体地,可以在用户通过浏览器访问网页时,识别用户的身份。用户在首次使用浏览器时可以在服务器上进行注册。通过注册的用户将与浏览器进行绑定,成为该浏览器的唯一的具有授权资格的用户。用户通过浏览器访问网页制作人员所制作并发布的网页时,首先将用户的身份信息发送给服务器,从而识别用户的身份。其中,用户的身份包括具有授权资格的用户以及不具有授权资格的用户。
请再次参阅表1,在本实施方式中,接口的标识为接口类别。当客户端脚本需要发出接口授权请求时,客户端脚本通过调用属于公有类的require接口就可以根据输入的接口类别获得该接口类别的授权结果。
如果用户为具有授权资格的用户,而且,用户确认授权,则授权结果为确认授权。如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认不授权,则授权结果为确认不授权。
例如,如果客户端脚本希望调用属于私有类的download接口,则客户端脚本首先调用require接口。在调用require接口时,将输入设为“下载类”,如果用户为具有授权资格的用户,而且,用户确认对“下载类”的接口授权,则输出的授权结果为确认授权,如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认对“下载类”的接口不授权,则输出的授权结果为确认不授权。
S103:当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
具体地,如果授权结果为确认授权,则客户端脚本可以继续调用接口。例如,如果授权结果为对下载类的接口确认授权时,客户端脚本可以继续调用download接口。在调用download接口时,将输入设置为“下载网页”和“授权结果”,则输出为“下载文件路径”。于是,客户端脚本将下载网址上的内容下载到下载文件路径指示的位置。
如果授权结果为确认不授权,则客户端脚本调用接口失败,当前整个网页被停止执行。
在本发明实施例中,可以在用户通过浏览器访问网页时,识别用户的身份,然后接收网页中的客户端脚本所发出的接口授权请求,并在根据接口授权请求确认具有授权资格的用户对客户端脚本所调用的接口已授权后,才允许调用已被授权的接口。与现有技术相比,本发明能够避免现有技术中一旦扩展后,就任何人都可以调用接口,而是在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
参阅图2,图2是本发明浏览器中接口调用方法另一实施方式的流程图。该方法包括:
浏览器开发人员可预先设计好多个类别的接口,并将设计好的接口类别、接口名称、版本号、输入和输出等信息记载在一个接口文档中,然后,将这个接口文档公布给网页制作人员。这样,网页制作人员通过查询接口文档中的版本号,就可以知道浏览器支持哪些接口。表1是接口文档的其中一个例子,如表1中所示,版本号为1的浏览器支持browserName接口、interfaceVersion接口、deviceType接口、require接口、download接口、playAudio接口以及readHistory接口。其中,browserName接口、interfaceVersion接口、deviceType接口以及require接口是公有类接口,可以被任何人所调用;download接口、playAudio接口以及readHistory接口是私有类接口,只有在授权结果为确认授权时,才能被调用。当需要调用接口时,需按照“输入”输入信息,在接口被调用后,将按照“输出”输出信息。
网页制作人员在通过版本号查询得到接口信息后,则可以根据接口信息设计客户端脚本,并制作网页。
可以理解的是,这里所列出的各种接口只是用于举例,而并非限定。在其他的实施方式中,也可以是其他的接口,或者其他的接口和上述的接口的任意组合。
S201:接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识。
具体地,由于客户端脚本一般由网页制作人员所编写并嵌入到网页当中,当用户请求网页的同时一般也加载了嵌入在网页中的客户端脚本。如果客户端脚本需要调用某个接口时,则客户端脚本会发出接口授权请求,其中,接口授权请求包含了客户端脚本所调用的接口的标识。
S202:获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格。
具体地,可以在用户通过浏览器访问网页时,识别用户的身份。用户在首次使用浏览器时可以在服务器上进行注册。通过注册的用户将与浏览器进行绑定,成为该浏览器的唯一的具有授权资格的用户。用户通过浏览器访问网页制作人员所制作并发布的网页时,首先将用户的身份信息发送给服务器,从而识别用户的身份。其中,用户的身份包括具有授权资格的用户以及不具有授权资格的用户。
请再次参阅表1,在本实施方式中,接口的标识为接口类别。当客户端脚本需要发出接口授权请求时,客户端脚本通过调用属于公有类的require接口就可以根据输入的接口类别获得该接口类别的授权结果。
如果用户为具有授权资格的用户,而且,用户确认授权,则授权结果为确认授权。如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认不授权,则授权结果为确认不授权。
例如,如果客户端脚本希望调用属于私有类的download接口,则客户端脚本首先调用require接口。在调用require接口时,将输入设为“下载类”,如果用户为具有授权资格的用户,而且,用户确认对该接口类别的接口授权,则输出的授权结果为确认授权,如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认对“下载类”的接口不授权,则输出的授权结果为确认不授权。
更具体地,客户端脚本可以通过如下的方式获得授权结果。
当用户为不具有授权资格的用户时,如果客户端脚本调用require接口去获取授权结果时,则无论客户端脚本请求的是任何属于私有类的接口时,所返回的授权结果都为确认不授权。
当用户为具有授权资格的用户时,如果用户是首次登录网页,则当客户端脚本调用require接口去发出接口授权请求以获取授权结果时,浏览器会根据接口授权请求中的接口类型弹出一个授权界面以供用户选择是否对客户端脚本请求的接口进行授权。如果用户点击授权按钮,则输入的授权结果为确认授权;如果用户点击不授权按钮,则输入的授权结果为确认不授权。例如,如图3所示,浏览器弹出一个授权界面,以为网页地址为www.liebao.cn的网页请求readHistory接口和download接口的授权。如果用户点击授权按钮,则表示对readHistory接口和download接口进行授权。反之,则表示不对readHistory接口和download接口进行授权。本实施例中,用户选择了对readHistory接口和download接口进行授权。
同时,浏览器在授权结果缓存表中缓存这次授权结果,具体如表2所示。
表2授权结果缓存表
其中,授权结果缓存表的第一行表示,用户对网页地址为www.baidu.cn的网页调用download接口进行授权,授权的期限为到2014年12月31日为止;授权结果缓存表的第二行表示,用户对网页地址为www.liebao.cn的网页调用readHistory接口和download接口进行授权,授权的期限为到2014年6月31日为止,等等。
当具有授权资格的用户再次登录网页时,则当客户端脚本调用require接口发出接口授权请求去获取授权结果时,可从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果。
可选的,可以确定发出所述接口授权请求的当前时间是否超过授权期限;如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求,如果发出所述接口授权请求的当前时间未超过授权期限,则可将授权结果缓存表中缓存的授权结果作为require接口的输出。
S203:当所述授权结果为确认授权时,提示所述用户输入验证码,在所述用户输入验证码正确时允许所述网页中的客户端脚本调用所述接口。
为了进一步提高安全性,可以在授权结果为确认授权时,弹出对话框提示具有授权资格的用户输入短信验证码,同时,服务器向具有授权资格的用户在注册时绑定的手机发送验证码。用户通过手机短信接收到验证码后,输入验证码。例如,如果验证码正确,则客户端脚本可以继续调用download接口。在调用download接口时,将输入设置为“下载网页”和“授权结果”,则输出为“下载文件路径”。于是,客户端脚本将下载网址上的内容下载到下载文件路径指示的位置。如果验证码不正确,则客户端脚本调用接口失败,当前整个网页被停止执行。
此外,可以接收所述用户对所述接口标识对应的接口的授权结果的修改;将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。例如,当用户不希望再对网页地址为www.baidu.cn的网页调用下载类接口进行授权时,可以修改授权结果缓存表中网页地址为www.baidu.cn的行的授权结果,将授权结果从确认授权修改为确认不授权,然后,再将修改后的授权结果发送给服务器以进行同步。同步后,无论用户在手机、平板电脑或者个人电脑等任一种设备登录浏览器时,都能获取到相同的修改后的授权结果。
可以理解的是,上述的实施方式中,接口的标识为接口类型,在其他的实施方式中,接口的标识也可以是接口名称等等,此处不作具体限定。
本发明的浏览器中接口调用方法可以应用于各种平台的浏览器中。这些平台包括但不限于Windows、Linux、Mac系统的个人电脑以及安卓、塞班、IOS系统的手机、平板电脑等智能移动设备。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
在本发明实施例中,可以在用户通过浏览器访问网页时,识别用户的身份,然后接收网页中的客户端脚本所发出的接口授权请求,并在根据接口授权请求确认具有授权资格的用户对客户端脚本所调用的接口已授权后,才允许调用已被授权的接口。与现有技术相比,本发明能够避免现有技术中一旦扩展后,就任何人都可以调用接口,而是在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
请参阅图4,图4是本发明浏览器中接口调用装置一实施方式的结构示意图。该装置包括:。
接收模块410,用于接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识。
具体地,由于客户端脚本一般由网页制作人员所编写并嵌入到网页当中,当用户请求网页的同时一般也加载了嵌入在网页中的客户端脚本。如果客户端脚本需要调用某个接口时,则客户端脚本会发出接口授权请求,其中,接口授权请求包含了客户端脚本所调用的接口的标识。
获取模块420,用于获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格。
具体地,可以在用户通过浏览器访问网页时,识别用户的身份。用户在首次使用浏览器时可以在服务器上进行注册。通过注册的用户将与浏览器进行绑定,成为该浏览器的唯一的具有授权资格的用户。用户通过浏览器访问网页制作人员所制作并发布的网页时,首先将用户的身份信息发送给服务器,从而识别用户的身份。其中,用户的身份包括具有授权资格的用户以及不具有授权资格的用户。
请再次参阅表1,在本实施方式中,接口的标识为接口类别。当客户端脚本需要发出接口授权请求时,客户端脚本通过调用属于公有类的require接口就可以根据输入的接口类别获得该接口类别的授权结果。
如果用户为具有授权资格的用户,而且,用户确认授权,则授权结果为确认授权。如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认不授权,则授权结果为确认不授权。
例如,如果客户端脚本希望调用属于私有类的download接口,则客户端脚本首先调用require接口。在调用require接口时,将输入设为“下载类”,如果用户为具有授权资格的用户,而且,用户确认对“下载类”的接口授权,则输出的授权结果为确认授权,如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认对“下载类”的接口不授权,则输出的授权结果为确认不授权。
调用模块430,用于当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
具体地,如果授权结果为确认授权,则客户端脚本可以继续调用接口。例如,如果授权结果为对下载类的接口确认授权时,客户端脚本可以继续调用download接口。在调用download接口时,将输入设置为“下载网页”和“授权结果”,则输出为“下载文件路径”。于是,客户端脚本将下载网址上的内容下载到下载文件路径指示的位置。
如果授权结果为确认不授权,则客户端脚本调用接口失败,当前整个网页被停止执行。
图4所示的装置可以执行图1所示的方法的各步骤,具体请参阅图1以及相关描述,此处不再展开描述。
在本发明实施例中,可以在用户通过浏览器访问网页时,识别用户的身份,然后接收网页中的客户端脚本所发出的接口授权请求,并在根据接口授权请求确认具有授权资格的用户对客户端脚本所调用的接口已授权后,才允许调用已被授权的接口。与现有技术相比,本发明能够避免现有技术中一旦扩展后,就任何人都可以调用接口,而是在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
请参阅图5,图5是本发明浏览器中接口调用装置另一实施方式的结构示意图。该装置包括:。
接收模块510,用于接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识。
具体地,由于客户端脚本一般由网页制作人员所编写并嵌入到网页当中,当用户请求网页的同时一般也加载了嵌入在网页中的客户端脚本。如果客户端脚本需要调用某个接口时,则客户端脚本会发出接口授权请求,其中,接口授权请求包含了客户端脚本所调用的接口的标识。
获取模块520,用于获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格。
具体地,可以在用户通过浏览器访问网页时,识别用户的身份。用户在首次使用浏览器时可以在服务器上进行注册。通过注册的用户将与浏览器进行绑定,成为该浏览器的唯一的具有授权资格的用户。用户通过浏览器访问网页制作人员所制作并发布的网页时,首先将用户的身份信息发送给服务器,从而识别用户的身份。其中,用户的身份包括具有授权资格的用户以及不具有授权资格的用户。
请再次参阅表1,在本实施方式中,接口的标识为接口类别。当客户端脚本需要发出接口授权请求时,客户端脚本通过调用属于公有类的require接口就可以根据输入的接口类别获得该接口类别的授权结果。
如果用户为具有授权资格的用户,而且,用户确认授权,则授权结果为确认授权。如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认不授权,则授权结果为确认不授权。
例如,如果客户端脚本希望调用属于私有类的download接口,则客户端脚本首先调用require接口。在调用require接口时,将输入设为“下载类”,如果用户为具有授权资格的用户,而且,用户确认对该接口类别的接口授权,则输出的授权结果为确认授权,如果登录的用户为不具有授权资格的用户或者用户为具有授权资格的用户但用户确认对“下载类”的接口不授权,则输出的授权结果为确认不授权。
更具体地,客户端脚本可以通过如下的方式获得授权结果。
当用户为不具有授权资格的用户时,如果客户端脚本调用require接口去获取授权结果时,则无论客户端脚本请求的是任何属于私有类的接口时,所返回的授权结果都为确认不授权。
当用户为具有授权资格的用户时,如果用户是首次登录网页,则当客户端脚本调用require接口去发出接口授权请求以获取授权结果时,浏览器会根据接口授权请求中的接口类型弹出一个授权界面以供用户选择是否对客户端脚本请求的接口进行授权。如果用户点击授权按钮,则输入的授权结果为确认授权;如果用户点击不授权按钮,则输入的授权结果为确认不授权。例如,如图3所示,浏览器弹出一个授权界面,以为网页地址为www.liebao.cn的网页请求readHistory接口和download接口的授权。如果用户点击授权按钮,则表示对readHistory接口和download接口进行授权。反之,则表示不对readHistory接口和download接口进行授权。本实施例中,用户选择了对readHistory接口和download接口进行授权。
同时,浏览器在授权结果缓存表中缓存这次授权结果,具体如表2所示。其中,授权结果缓存表的第一行表示,用户对网页地址为www.baidu.cn的网页调用download接口进行授权,授权的期限为到2014年12月31日为止;授权结果缓存表的第二行表示,用户对网页地址为www.liebao.cn的网页调用readHistory接口和download接口进行授权,授权的期限为到2014年6月31日为止,等等。
当具有授权资格的用户再次登录网页时,则当客户端脚本调用require接口发出接口授权请求去获取授权结果时,可从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果。
确定模块530,用于确定发出所述接口授权请求的当前时间是否超过授权期限。
返回模块540,用于如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求。如果发出所述接口授权请求的当前时间未超过授权期限,则可将授权结果缓存表中缓存的授权结果作为require接口的输出。
调用模块550,用于当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
为了进一步提高安全性,可以在授权结果为确认授权时,弹出对话框提示具有授权资格的用户输入短信验证码,同时,服务器向具有授权资格的用户在注册时绑定的手机发送验证码。用户通过手机短信接收到验证码后,输入验证码。例如,如果验证码正确,则客户端脚本可以继续调用download接口。在调用download接口时,将输入设置为“下载网页”和“授权结果”,则输出为“下载文件路径”。于是,客户端脚本将下载网址上的内容下载到下载文件路径指示的位置。如果验证码不正确,则客户端脚本调用接口失败,当前整个网页被停止执行。
修改模块560,用于接收所述用户对所述接口标识对应的接口的授权结果的修改;以及将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。例如,当用户不希望再对网页地址为www.baidu.cn的网页调用下载类接口进行授权时,可以修改授权结果缓存表中网页地址为www.baidu.cn的行的授权结果,将授权结果从确认授权修改为确认不授权,然后,再将修改后的授权结果发送给服务器以进行同步。同步后,无论用户在手机、平板电脑或者个人电脑等任一种设备登录浏览器时,都能获取到相同的修改后的授权结果。
可以理解的是,上述的实施方式中,接口的标识为接口类型,在其他的实施方式中,接口的标识也可以是接口名称等等,此处不作具体限定。
本发明的浏览器中接口调用方法可以应用于各种平台的浏览器中。这些平台包括但不限于Windows、Linux、Mac系统的个人电脑以及安卓、塞班、IOS系统的手机、平板电脑等智能移动设备。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
图5所示的装置可以执行图1以及图2所示的方法的各步骤,具体请参阅图1、图2以及相关描述,此处不再展开描述。
综上所述,通过实施本发明实施例,可以在用户通过浏览器访问网页时,识别用户的身份,然后接收网页中的客户端脚本所发出的接口授权请求,并在根据接口授权请求确认具有授权资格的用户对客户端脚本所调用的接口已授权后,才允许调用已被授权的接口。与现有技术相比,本发明能够避免现有技术中一旦扩展后,就任何人都可以调用接口,而是,只有在使用浏览器的过程中,只有识别出用户身份为具有授权资格的用户时,才能授权客户端脚本调用接口,从而提高了用户的数据安全。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种浏览器中接口调用方法,其特征在于,包括:
接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识;
获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格;
当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
2.如权利要求1所述的方法,其特征在于,所述当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口包括:
提示所述用户输入验证码,在所述用户输入验证码正确时允许所述网页中的客户端脚本调用所述接口。
3.如权利要求1所述的方法,其特征在于,所述获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果包括:
从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果,其中,所述授权列表包括所述接口标识与所述接口的授权结果的对应关系。
4.如权利要求3所述的方法,其特征在于,所述从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果之后,还包括:
确定发出所述接口授权请求的当前时间是否超过授权期限;
如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户对所述接口标识对应的接口的授权结果的修改;
将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。
6.一种浏览器中接口调用装置,其特征在于,包括:
接收模块,用于接收浏览器访问的网页中的客户端脚本所发出的接口授权请求,其中,所述接口授权请求中携带所述客户端脚本需要调用的接口的接口标识;
获取模块,用于获取所述浏览器的当前登录用户对所述接口授权请求中携带的接口标识对应的接口的授权结果,其中,所述授权结果包括确认授权或确认不授权,所述确认授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认授权,所述确认不授权的情况为所述当前登录用户具有授权资格且对所述接口标识对应的接口确认不授权,或所述当前登录用户不具有授权资格;
调用模块,用于当所述授权结果为确认授权时,允许所述网页中的客户端脚本调用所述接口标识对应的接口。
7.如权利要求6所述的装置,其特征在于,所述调用模块还用于提示所述用户输入验证码,在所述用户输入验证码正确时允许所述网页中的客户端脚本调用所述接口。
8.如权利要求6所述的装置,其特征在于,所述获取模块还用于从本地缓存的授权列表中获取所述用户对所述接口标识对应的接口的授权结果,其中,所述授权列表包括所述接口标识与所述接口的授权结果的对应关系。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定发出所述接口授权请求的当前时间是否超过授权期限;
返回模块,用于如果发出所述接口授权请求的当前时间超过授权期限,返回接口调用失败或者重新发送接口授权请求。
10.如权利要求6所述的装置,其特征在于,所述装置还包括修改模块,所述修改模块用于接收所述用户对所述接口标识对应的接口的授权结果的修改;以及将所述修改后的授权结果发送给所述服务器,以使所述服务器更新所述授权结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510229524.2A CN104866743A (zh) | 2015-05-07 | 2015-05-07 | 一种浏览器中接口调用方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510229524.2A CN104866743A (zh) | 2015-05-07 | 2015-05-07 | 一种浏览器中接口调用方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104866743A true CN104866743A (zh) | 2015-08-26 |
Family
ID=53912567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510229524.2A Pending CN104866743A (zh) | 2015-05-07 | 2015-05-07 | 一种浏览器中接口调用方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866743A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818102A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN109376019A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 接口调用方法及终端设备 |
CN109976924A (zh) * | 2019-03-22 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 接口调用方法及装置 |
CN111258832A (zh) * | 2020-01-22 | 2020-06-09 | 泰康保险集团股份有限公司 | 一种接口参数校验方法、装置、设备及介质 |
CN112182620A (zh) * | 2020-09-30 | 2021-01-05 | Oppo广东移动通信有限公司 | 一种授权方法、终端、web服务器及计算机存储介质 |
CN112367302A (zh) * | 2020-10-20 | 2021-02-12 | 北京空间飞行器总体设计部 | 一种适用于chrome浏览器的身份认证方法及系统 |
CN117687893A (zh) * | 2024-02-04 | 2024-03-12 | 深圳市冠群电子有限公司 | 手机app端口测试方法及系统 |
CN117687893B (zh) * | 2024-02-04 | 2024-05-10 | 深圳市冠群电子有限公司 | 手机app端口测试方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200962B1 (en) * | 2010-05-18 | 2012-06-12 | Google Inc. | Web browser extensions |
CN103139137A (zh) * | 2011-11-22 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络服务提供方法及装置 |
CN103634301A (zh) * | 2013-11-14 | 2014-03-12 | 新浪网技术(中国)有限公司 | 客户端及其访问服务器中用户存储的私有数据的方法 |
CN103856446A (zh) * | 2012-11-30 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种登录方法、装置及开放平台系统 |
KR101446326B1 (ko) * | 2013-03-28 | 2014-10-07 | 소프트캠프(주) | 보안데이터 관리장치와 관리방법 |
CN104301331A (zh) * | 2014-10-31 | 2015-01-21 | 北京思特奇信息技术股份有限公司 | 一种服务接口权限验证方法及装置 |
CN104394133A (zh) * | 2014-11-14 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 登录方法和登录系统 |
CN104503752A (zh) * | 2014-12-17 | 2015-04-08 | 青岛海信电器股份有限公司 | 一种智能设备中控制网页调用系统功能的方法及装置 |
-
2015
- 2015-05-07 CN CN201510229524.2A patent/CN104866743A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200962B1 (en) * | 2010-05-18 | 2012-06-12 | Google Inc. | Web browser extensions |
CN103139137A (zh) * | 2011-11-22 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络服务提供方法及装置 |
CN103856446A (zh) * | 2012-11-30 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 一种登录方法、装置及开放平台系统 |
KR101446326B1 (ko) * | 2013-03-28 | 2014-10-07 | 소프트캠프(주) | 보안데이터 관리장치와 관리방법 |
CN103634301A (zh) * | 2013-11-14 | 2014-03-12 | 新浪网技术(中国)有限公司 | 客户端及其访问服务器中用户存储的私有数据的方法 |
CN104301331A (zh) * | 2014-10-31 | 2015-01-21 | 北京思特奇信息技术股份有限公司 | 一种服务接口权限验证方法及装置 |
CN104394133A (zh) * | 2014-11-14 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 登录方法和登录系统 |
CN104503752A (zh) * | 2014-12-17 | 2015-04-08 | 青岛海信电器股份有限公司 | 一种智能设备中控制网页调用系统功能的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818102A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN107818102B (zh) * | 2016-09-12 | 2020-03-27 | 平安科技(深圳)有限公司 | 数据提取方法和装置 |
CN109376019A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 接口调用方法及终端设备 |
CN109976924A (zh) * | 2019-03-22 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 接口调用方法及装置 |
CN111258832A (zh) * | 2020-01-22 | 2020-06-09 | 泰康保险集团股份有限公司 | 一种接口参数校验方法、装置、设备及介质 |
CN111258832B (zh) * | 2020-01-22 | 2023-06-20 | 泰康保险集团股份有限公司 | 一种接口参数校验方法、装置、设备及介质 |
CN112182620A (zh) * | 2020-09-30 | 2021-01-05 | Oppo广东移动通信有限公司 | 一种授权方法、终端、web服务器及计算机存储介质 |
CN112182620B (zh) * | 2020-09-30 | 2024-04-05 | Oppo广东移动通信有限公司 | 一种授权方法、终端、web服务器及计算机存储介质 |
CN112367302A (zh) * | 2020-10-20 | 2021-02-12 | 北京空间飞行器总体设计部 | 一种适用于chrome浏览器的身份认证方法及系统 |
CN112367302B (zh) * | 2020-10-20 | 2023-07-18 | 北京空间飞行器总体设计部 | 一种适用于chrome浏览器的身份认证方法及系统 |
CN117687893A (zh) * | 2024-02-04 | 2024-03-12 | 深圳市冠群电子有限公司 | 手机app端口测试方法及系统 |
CN117687893B (zh) * | 2024-02-04 | 2024-05-10 | 深圳市冠群电子有限公司 | 手机app端口测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104866743A (zh) | 一种浏览器中接口调用方法以及装置 | |
US8749361B2 (en) | Method and system for tactile signaled authentication | |
US20150026330A1 (en) | Generating unique identifiers for mobile devices | |
US20160232374A1 (en) | Permission control method and apparatus | |
JP6438031B2 (ja) | クライアントのダウンロード及びインストール方法及び装置 | |
KR102166589B1 (ko) | 웹 페이지와 네이티브 애플리케이션 간의 통신을 실현하기 위한 방법 및 장치, 그리고 전자 디바이스 | |
CN103428179B (zh) | 一种登录多域名网站的方法、系统以及装置 | |
CN103780396B (zh) | 令牌获取方法及装置 | |
EP3337219A1 (en) | Carrier configuration processing method, device and system, and computer storage medium | |
CN103634109A (zh) | 操作权限验证方法和装置 | |
CN104079409A (zh) | 账号的登录方法及装置 | |
CN103744686A (zh) | 智能终端中应用安装的控制方法和系统 | |
CN106970978A (zh) | 数据共享方法及装置 | |
CN102316080B (zh) | 支持中心认证服务在同一主域下的匿名验证功能 | |
CN108718337B (zh) | 网站账号登录、验证、验证信息处理方法、装置及系统 | |
CN105227321A (zh) | 信息处理方法、服务器及客户端 | |
CN101764808B (zh) | 自动登录的认证处理方法、服务器和系统 | |
CN104767767A (zh) | 互联网访问数据共享方法、装置、系统及网络设备 | |
JP2007528064A (ja) | 無線装置オペレーティング環境における未検証プログラムの実行 | |
CN102710737A (zh) | 跨平台服务通知 | |
US20150180859A1 (en) | Login requesting device and method for requesting login to server and storage medium storing a program used therefor | |
US10491589B2 (en) | Information processing apparatus and device coordination authentication method | |
US20090178113A1 (en) | Apparatus, methods, and computer program products for providing portable communication identity services | |
CN105791249A (zh) | 一种第三方应用处理方法、装置以及系统 | |
US9455972B1 (en) | Provisioning a mobile device with a security application on the fly |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150826 |