CN108234399B - 一种接口通信方法及终端 - Google Patents

一种接口通信方法及终端 Download PDF

Info

Publication number
CN108234399B
CN108234399B CN201611158444.3A CN201611158444A CN108234399B CN 108234399 B CN108234399 B CN 108234399B CN 201611158444 A CN201611158444 A CN 201611158444A CN 108234399 B CN108234399 B CN 108234399B
Authority
CN
China
Prior art keywords
service function
authentication response
response information
terminal
web
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
Application number
CN201611158444.3A
Other languages
English (en)
Other versions
CN108234399A (zh
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 CN201611158444.3A priority Critical patent/CN108234399B/zh
Publication of CN108234399A publication Critical patent/CN108234399A/zh
Application granted granted Critical
Publication of CN108234399B publication Critical patent/CN108234399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种接口通信方法,该方法包括:当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;通过Web接口接收实现第一业务功能的网络请求,根据网络请求从服务器接收第二鉴权响应信息,第一业务功能为Web接口调用本地数据实现的,第二鉴权响应信息用于对通过Web接口调用本地数据进行权限验证,网络请求中包括Web的网络地址信息;根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证;当实现第一业务功能的权限验证成功时,实现第一业务功能。本发明实施例还同时公开了一种终端。

Description

一种接口通信方法及终端
技术领域
本发明涉及通信领域中的接口通信技术,尤其涉及一种接口通信方法及终端。
背景技术
在移动互联网快速变化的环境下,本地应用程序(Native App,NativeApplication)的开发、发布成本以及快速迭代的能力都要逊色于网页,所以在Native App中一些需要及时更新变动、快速开发的页面会使用内嵌网页UIWebview的形式来实现。这样可以在不发版本的前提下,及时适应新的需求变动,顺应快速反应的业务需要。
目前,Native App中可以通过内嵌一个UIWebView来实现某种业务功能,常见的内嵌UIWebview和Native App的交互方案是多个内嵌页面维持自己的接口交互能力,内嵌UIWebView要想获得更好的交互体验,实现某种业务功能,就会需要Native App提供相应的用户数据或者能力(用户登录信息、关闭跳转页面、展示动画等)。具体的数据交互能力就是依靠JSbridge接口来实现的。但是UIWebView上可以加载所有的网页,进而就可以通过任意页面访问了Native App的本地信息,当有一些不安全网页知道本地支持这种JSBridge接口,完全可以直接通过该JSBridge接口获取Native App的用户数据或者能力(本地信息),造成终端的安全性漏洞。例如,对于大体量公司的Native App都来说,Native App登录使用用户号和密码来登录,如果登录态通过JSBridge接口被第三方劫持,将导致整个公司业务都要受到严重的威胁。
发明内容
为解决上述技术问题,本发明实施例期望提供一种接口通信方法及终端,能够保证UIWebview与Native App进行接口通信的安全性。
本发明的技术方案是这样实现的:
本发明实施例提供了一种接口通信方法,包括:
当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,所述第一应用为正在使用的应用,所述第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;
通过所述Web接口接收实现第一业务功能的网络请求,根据所述网络请求从所述服务器接收第二鉴权响应信息,所述第一业务功能为所述Web接口调用本地数据实现的,所述第二鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证,所述网络请求中包括Web的网络地址信息;
根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证;
当所述实现所述第一业务功能的权限验证成功时,实现所述第一业务功能。
本发明实施例提供了一种终端,包括:
接收单元,用于当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,所述第一应用为正在使用的应用,所述第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;及通过所述Web接口接收实现第一业务功能的网络请求;以及根据所述网络请求从所述服务器接收第二鉴权响应信息,所述第一业务功能为所述Web接口调用本地数据实现的,所述第二鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证,所述网络请求中包括Web的网络地址信息;
鉴权单元,用于根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证;
业务实现单元,用于当所述实现所述第一业务功能的权限验证成功时,实现所述第一业务功能。
本发明实施例提供了一种接口通信方法及终端,当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,第一应用为正在使用的应用,第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;通过Web接口接收实现第一业务功能的网络请求,根据网络请求从服务器接收第二鉴权响应信息,第一业务功能为Web接口调用本地数据实现的,第二鉴权响应信息用于对通过Web接口调用本地数据进行权限验证,网络请求中包括Web的网络地址信息;根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证;当实现第一业务功能的权限验证成功时,实现第一业务功能。采用上述技术实现方案,由于在通过Web接口调用本地数据实现第一业务功能时,终端可以通过鉴权响应信息对第一业务功能进行鉴权,只有鉴权成功的才能进行第一业务功能的实现,因此,即使第三方获知了Web接口调用的方式也不能直接获取本地数据,从而保证了UIWebview与Native App进行接口通信的安全性。
附图说明
图1为本发明实施例提供的一种接口通信方法中对应的接口通信系统架构示意图;
图2为本发明实施例提供的一种接口通信方法的流程图一;
图3为一种登录界面的示意图;
图4为本发明实施例提供的一种接口通信方法的流程图一;
图5为本发明实施例提供的一种接口通信方法的流程图二;
图6为本发明实施例提供的一种接口通信方法的流程图三;
图7为本发明实施例提供的一种接口通信方法的流程图四;
图8为本发明实施例提供的一种接口通信方法的交互图;
图9为本发明实施例提供的一种终端的结构示意图一;
图10为本发明实施例提供的一种终端的结构示意图二;
图11为本发明实施例提供的一种终端的结构示意图三;
图12为本发明实施例提供的一种终端的结构示意图四;
图13为本发明实施例提供的一种终端的结构示意图五;
图14为本发明实施例提供的一种终端的结构示意图六。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
UIWebView:OS内置的浏览器控件,UIWebView用于在APP中嵌入网页,通常是html网页。
Native App:是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。
JSBridge:用来在Native App的原生代码与javascript代码中架设通信(调用)桥梁的辅助工具。
Web接口插件:第一应用支持JSBridge接口的功能,可以单独复用的代码模块。
插件管理系统:负责动态加载Web接口插件、维护插件生命期的单独功能代码模块。
图1为本发明实施例中进行接口通信系统中信息交互的各种硬件实体的示意图,图1中包括:一个或多个服务器2、终端1,及网络3,网络3中包括路由器,网关等等网络实体,图1中并未体现。终端1通过有线网络或者无线网络与服务器2进行网络数据的信息交互(鉴权相关信息、插件相关信息等),以便终端1通过网络向服务器2进行鉴权相关信息的获取。其中,终端的类型如图1所示,包括手机(终端1-3)、平板电脑或PDA(终端1-5)、台式机(终端1-2)、PC机(终端1-4)、一体机(终端1-1)等类型。其中,终端1中安装有各种用户所需的应用功能模块,比如具备娱乐功能的应用(如视频应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用(如地图导航应用、团购应用、拍摄应用等),再者比如设置应用等系统功能,这些应用统称为第一应用。
基于图1的架构实现下述各实施例。
实施例一
本发明实施例提供了一种接口通信方法,如图2所示,该方法可以包括:
S101、当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,该第一应用为正在使用的应用,该第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证。
需要说明的是,本发明实施例提供的终端中可以设置有多个应用(第一应用)的客户端,本发明实施例中的第一应用可以有多种,在本发明实施例中的第一应用为可实现一定功能的安装在终端上的应用程序(APP,Application),本发明实施例不限制其应用的类型和内容。
可选的,本发明实施例中的终端可以为安装有第一应用的智能电子设备,例如,智能手机和平板等,本发明实施例不作限制。
在本发明实施例中,第一应用可以实现用户的登录,进而进行一些针对每个用户的隐私保护的相关功能的实现,本发明实施例提供的接口通信方法就是适用于这样的情境下。本发明实施例中的接口通信为通过JSBridge实现UIWebView与Native App进行数据交互(通信)的过程。其中,在本发明实施例中,UIWebView用Web进行表示,Native App用终端上安装的第一应用进行表示。
这里,用户使用终端上的第一应用时,用户可以先在该第一应用上进行登录,如图3所示,该终端接收第一应用的登录请求,并响应该登录请求,实现该第一应用的登录。其中,登录请求为用户通过图3所示的登录界面进行用户名和密码的输入的过程,用户点击“登录”按键,于是,该终端接收了携带了用户名和密码的登录请求。当第一应用登录成功之后,该终端上的第一应用就处于登录状态,这时,该终端就可以向服务器去获取用于对通过Web接口调用本地数据进行权限验证的第一鉴权响应信息,也就是说,在本发明实施例中,终端上只要有第一应用的登录,就给终端发送与该第一应用对应的第一鉴权响应信息,以供后续在第一应用上实现与Web接口的调用验证时使用。其中,本发明实施例中的服务器为终端的第一应用对应的后台服务器。
本发明实施例中的第一鉴权响应信息为加密密钥(登录密钥),例如,key 1,具体的密钥的形式和加密方式本发明实施例不作限制。
需要说明的是,终端中可以包括第一应用和Web页面两大部分。这里,第一应用处于登录状态时,可以是第一应用向其对应的服务器发送第一获取请求,获取第一鉴权响应信息的过程。
S102、通过Web接口接收实现第一业务功能的网络请求,根据该网络请求从服务器接收第二鉴权响应信息,该第一业务功能为该Web接口调用本地数据实现的,该第二鉴权响应信息用于对通过该Web接口调用该本地数据进行权限验证,该网络请求中包括Web的网络地址信息。
终端经过登录,并从服务器接收第一鉴权响应信息之后,由于用户可能需要或进行第一应用上的内嵌Web页面上的第一业务功能的操作,因此,该终端就通过Web接口接收实现第一业务功能的网络请求,这时,该终端获知此时需要进行Web接口的调用实现第一业务功能,于是,该终端向第一应用对应的服务器(后台服务器)索要第二鉴权响应信息,例如,key 2,以供终端判断该Web是否为可进行第一业务功能的Web接口的调用,以保证通过内嵌Web页面获取本地数据的安全性。
这里,由于终端可以包括第一应用和Web页面两大部分。在第一应用的内嵌Web页面进行第一业务功能时,可以是该Web页面向第一应用对应的服务器发送第二获取请求,获取第二鉴权响应信息的过程。
在本发明实施例中,第一业务功能为第一应用可支持或可实现的功能,该第一业务功能与第一应用是对应的。
可选的,本发明实施例中的第一业务功能可以为用户登录信息的授权实现的点赞功能、用户资料的获取等才能实现的功能,该第一业务功能是该Web接口调用本地数据实现的功能,本发明实施例不作限制。其中,在本发明实施例中,本地数据为第一应用中在本地存储的,且与第一业务功能相关的信息,本发明实施例不作限制。例如,用户相关信息,隐私信息或关键数据等。
需要说明的是,在本发明实施例中,网络请求中携带有Web的网址信息。本领域技术人员可知的是,Web的访问或请求都可以通过网络地址的形式实现,本发明实施例通可以通过JSBridge实现Web接口的调用,因此,上述网络请求中携带有Web的网络地址信息(即调用形式)。例如:JSBridge:\\ModuleName\\MethodName?...等网络地址信息来实现Web的调用。
需要说明的是,在本发明实施例中的网络地址信息中可以包括:域名,ModuleName以及方法名,Method Name。其中,方法名就是第一业务功能的功能名称,域名为该Web网页或页面的标识信息。
S103、根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证。
终端从服务器获取到第二鉴权响应信息之后,该终端要先对发起Web接口的调用的Web的合法性进行校验,也就是说,该终端需要对发起Web接口的调用的Web的进行鉴权的过程,只有合法的或正确的调用时才会被允许实现,完成第一业务功能的过程,因此,该终端需要根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证。
在本发明实施例中,终端上的第一应用对应有可进行本地数据访问的业务功能及其可调用的Web网页的预设标识列表(白名单),首先,终端可以对Web接口的调用时的当前Web页面对应的标识信息及第一业务功能(即域名和方法名)与预设标识列表进行比较,看是否符合。只有在符合了预设标识列表中的信息项后,终端再通过第一鉴权响应信息和第二鉴权响应信息对比,最终确定当前正在进行的Web接口的调用的过程是否可以进行。
需要说明的是,在本发明实施例中,当合法的或正确的Web接口的调用发生时,该终端或者是终端中的当前Web页面是可以从服务器处获取到正确的鉴权响应信息的,这样一来,在非法的或恶意Web页面伪装后想要实现第一应用对应的第一业务功能时的鉴权过程中,终端就会发现非法的或恶意Web页面没有正确的鉴权响应信息(第二鉴权响应信息没有或错误)的,这样的话,终端是不会让这样的Web页面进行去第一应用对应的本地获取第一业务功能相关的本地数据的。这样双重的校验过程,很有效的提高了接口通信时的本地数据的安全性。
S104、当实现第一业务功能的权限验证成功时,实现该第一业务功能。
终端根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证之后,终端对Web页面实现第一业务功能的权限验证结果可以有两种,一种为权限验证成功,一种为权限验证未成功。而当实现第一业务功能的权限验证成功时,实现该第一业务功能,就表征该终端的当前Web页面可以通过Web接口获取第一业务功能相关的本地数据,从而实现第一业务功能了。
例如,在直播应用中,用户打开手机上的第一主播的直播界面实现“送礼物”功能时,该直播界面需要去在实现“送礼物”之前,手机只有获取了第一用户的登录信息确定“送礼物”的用户后,才能去对应的后台服务器扣除该第一用户的相应礼物的数值(即买到礼物)后,进行“送礼物”显示(即实现送礼物的功能)。而在终端获取第一用户的登录信息确定“送礼物”的用户时,需要根据直播网络地址信息、key 1(第一鉴权响应信息)和key 2(第二鉴权响应信息)对正在使用的Web界面进行双重验证后,才能获取第一用户的登录信息,防止了恶意的Web页面非法获取用户信息的过程。
进一步地,如图4所示,在S104之后,本发明实施例提供的一种接口通信方法还包括:S105。具体如下:
S105、当实现第一业务功能的权限验证未成功时,发送该第一业务功能对应的网络请求至服务器。
终端根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证之后,终端对Web页面实现第一业务功能的权限验证结果可以有两种,一种为权限验证成功,一种为权限验证未成功。而当实现第一业务功能的权限验证未成功时,表征该网络请求中可能存在恶意攻击,因此,终端可以发送该第一业务功能对应的网络请求至服务器,从而告知服务器有恶意的这样的攻击网页存在,进而使得服务器可以调整或部署一些防御策略,更好的进行攻击的拦截。
进一步地,如图5所示,在S101之后,S102之前,本发明实施例提供的一种接口通信方法还包括:S106-S107。具体如下:
S106、接收服务器最新的第三鉴权响应信息,该第三鉴权响应信息用于对通过Web接口调用本地数据进行权限验证。
S107、采用第三鉴权响应信息更新第一鉴权响应信息。
本发明实施例中的第一鉴权响应信息的时效(预设有效时限)可以是有限的,例如,预设有效时限为10分钟,本发明实施例不限制有效时限的时间。
终端从服务器接收第一鉴权响应信息之后,由于当第一鉴权响应信息的时效是有限的、且终端还没有进行Web接口的调用时,服务器在发送给终端第一鉴权响应信息的预设有效时限之后,该服务器会主动下发最新的第三鉴权响应信息给该终端,采用有效的第三鉴权响应信息更新失效的第一鉴权响应信息,也就是说,将第三鉴权响应信息作为新的第一鉴权响应信息,以供该终端在进行Web接口的调用时作为更新的第一鉴权响应信息使用。
进一步地,在本发明实施例中,企业可以通过服务器发布新的鉴权信息,因此,该服务器中存储的鉴权响应信息是可能会发生改变的,这时,若是发生改变,则服务器就给在获取了第一鉴权响应信息但是还没有进行鉴权过程的终端,主动发布最新的第三鉴权响应信息,并采用第三鉴权响应信息更新第一鉴权响应信息。这样,就保证了动态调整鉴权响应信息的过程,提供了鉴权的准确性。
可以理解的是,由于在通过Web接口调用本地数据实现第一业务功能时,终端可以通过鉴权响应信息对第一业务功能进行鉴权,只有鉴权成功的才能进行第一业务功能的实现,因此,即使第三方获知了Web接口调用的方式也不能直接获取本地数据,从而保证了UIWebview(Web页面)与Native App(第一应用)进行接口通信的安全性。
实施例二
基于实施一描述的一种接口通信方法,对于S104的具体实现过程可以包括:S201-S205。本发明实施例提供了一种接口通信方法,如图6所示,该方法可以包括:
S201、检测第一应用是否支持第一业务功能。
终端在根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证之后,当实现第一业务功能的权限验证成功时,表征此时的Web接口的调用可以进行,去实现第一业务功能了,但是,在本发明实施例中,也可能存在第一应用没有在终端的本地存储有与第一功能业务对应的第一插件,因此,该第一应用不可能通过第一插件实现第一业务功能了。
需要说明的是,在本发明实施例中,第一应用对应的各个子业务功能,例如第一业务功能,都是通过第一应用对应的插件(本发明实施例中的插件可以为Web接口插件)实现的,这样,在不同的页面在需要进行某一业务功能时,只需通过该某一业务功能在第一应用上对应的插件进行实现就可以了,而不用对每个页面的该某一业务功能的插件进行开发和使用,也就是说,本发明实施例中,通过插件管理系统统一对JSBridge交互接口进行管理,各个UIWebview(Web页面)与相应的JSBridge并不相互耦合,这样,节省了UIWebview和Native App接口的开发成本,提高了接口复用能力,并且相关的接口不一致导致的第一应用异常率大大降低,同时,由于本发明实施例中的插件将UIWebview和JSBridge调用接口完全解耦,也大大增强了第一应用的内嵌Web页面的可配置性,使得运营时动态可通过下发不同的网络地址信息,来控制具体打开的Web页面,从而节省了很大的开发和更新成本。
S202、当检测出支持第一业务功能时,检测Web中第一业务功能对应的第一插件是否加载。
终端检测第一应用是否支持第一业务功能之后,该终端的检测结果可以有两种,一种为检测出支持第一业务功能,一种为未检测出支持第一业务功能。而当检测出支持第一业务功能时,该终端还要通过第一业务功能对应的第一插件去实现,因此,该终端还要检测Web中第一业务功能对应的第一插件是否加载,只有在加载了的情况下才可以实现第一业务功能。
可选的,第一插件可以为Web接口插件。
S203、当第一插件未加载时,从本地获取该第一插件进行加载,并通过Web接口调用本地数据实现第一业务功能。
终端检测Web中第一业务功能对应的第一插件是否加载之后,该终端检测的结果可以有两种,一种为第一业务功能对应的第一插件已经加载,一种为第一插件并未加载。而当第一插件未加载时,由于第一插件可以在存储在第一应用对应的本地中,因此,该终端可以从本地获取该第一插件进行加载,并通过Web接口调用本地数据实现第一业务功能。
这里,终端在进行了第一插件的加载之后,对该第一插件进行实例化,然后再实现响应Web接口的调用的过程。
S204、当第一插件已加载时,通过Web接口调用本地数据实现第一业务功能。
终端检测Web中第一业务功能对应的第一插件是否加载之后,该终端检测的结果可以有两种,一种为第一业务功能对应的第一插件已经加载,一种为第一插件并未加载。而当第一插件已加载时,该终端就可以直接实现第一业务功能了,即通过Web接口调用本地数据实现第一业务功能。
S205、当未检测出支持第一业务功能时,发送该第一业务功能的需求请求至服务器。
终端检测第一应用是否支持第一业务功能之后,该终端的检测结果可以有两种,一种为检测出支持第一业务功能,一种为未检测出支持第一业务功能。而当未检测出支持第一业务功能时,表征第一应用还不可支持的第一业务功能,存在业务功能的缺乏,因此,该终端可以发送该第一业务功能的需求请求至服务器,告知该服务器用户需要进行第一业务功能的实现,从而对第一应用进行更好的开发和扩展,以提高第一应用的更好的业务。
实施例三
基于实施一描述的一种接口通信方法,对于S103的具体实现过程可以包括:S301-S304。本发明实施例提供了一种接口通信方法,如图7所示,该方法可以包括:
S301、根据Web的网络地址信息,获取第一业务功能对应的第一标识信息。
S302、根据第一标识信息和预设标识列表,判断第一业务功能是否允许实现。
终端从服务器获取到第二鉴权响应信息之后,该终端要先对发起Web接口的调用的Web的合法性进行校验,也就是说,该终端需要对发起Web接口的调用的Web的进行鉴权的过程,只有合法的或正确的调用时才会被允许实现,完成第一业务功能的过程,因此,该终端需要根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证。
在本发明实施例中,终端上的第一应用对应有可进行本地数据访问的业务功能及其可调用的Web网页的预设标识列表(白名单),首先,终端可以对Web接口的调用时的当前Web页面对应的标识信息及第一业务功能(即域名和方法名)与预设标识列表进行比较,看是否符合。
这里,终端根据Web的网络地址信息,获取第一业务功能对应的第一标识信息。在本发明实施例中,第一标识信息可以为域名和方法名。
示例性的,网络请求中携带有Web的网络地址信息(即调用形式)。例如:JSBridge:\\ModuleName\\MethodName?...等网络地址信息来实现Web的调用。其中,域名为Module Name以及方法名为Method Name。这样的话,终端就可以从Web的网络地址信息中获取到第一标识信息了。
在本发明实施例中,在终端获取了第一标识信息之后,由于终端中存储有预设的白名单(预设标识列表),并且,只有白名单上的业务功能是被允许的实现的,因此,终端根据第一标识信息和预设标识列表,判断第一业务功能是否允许实现。其中,预设标识列表中包括允许的域名和域名对应允许的业务功能的方法名。
具体的,若是第一预设标识信息与预设标识信息能匹配上,则表征该第一业务功能允许实现,反之,则不允许实现。
S303、当第一业务功能允许实现时,将第一鉴权响应信息和第二鉴权响应信息进行对比。
S304、当第一鉴权响应信息和第二鉴权响应信息一致时,表征实现第一业务功能的权限验证成功。
若是第一预设标识信息与预设标识信息能匹配上,则该第一业务功能允许实现,当该第一业务功能允许实现时,表征第一重验证成功,但是终端还要进行鉴权信息的验证过程,于是,该终端将第一鉴权响应信息和第二鉴权响应信息进行对比。在本发明实施例中,由于第一鉴权响应信息和第二鉴权响应信息都是服务器给的,若是正常的允许实现的Web接口调用第一业务功能的话,服务器给的鉴权响应信息会是正确的,除非服务器给的并不是第一业务功能的鉴权响应信息,或者伪装的鉴权响应信息,因此,当第一鉴权响应信息和第二鉴权响应信息一致时,表征实现第一业务功能的权限验证成功。当第一鉴权响应信息和第二鉴权响应信息不一致时,表征实现第一业务功能的权限验证未成功。
需要说明的是,在进行S301-S304之前,本发明实施例提供的第二鉴权响应消息在终端中接收之后,也可以写入了网络请求中,在用到第二鉴权响应信息时就可以从网络请求中获取可以直接获取,进而使用。具体的形式例如,JSBridge:\\ModuleName\\MethodName?key=key 2等。
可以理解的是,这样的话,终端是不会让这样的Web页面进行去第一应用对应的本地获取第一业务功能相关的本地数据的。这样双重的校验过程,很有效的提高了接口通信时的本地数据的安全性。
实施例四
基于实施例一,如图8所示,本发明实施例提供的一种接口通信方法可以包括:
S401、终端接收第一应用的登录请求。
S402、终端响应登录请求,实现第一应用的登录。
这里,用户使用终端上的第一应用时,用户可以先在该第一应用上进行登录,如图3所示,该终端接收第一应用的登录请求,并响应该登录请求,实现该第一应用的登录。其中,登录请求为用户通过图3所示的登录界面进行用户名和密码的输入的过程,用户点击“登录”按键,于是,该终端接收了携带了用户名和密码的登录请求。
S403、当第一应用处于登录状态时,终端发送登录密钥的第一获取请求至服务器。
S404、终端接收响应第一获取请求的第一鉴权响应信息。
这里,S403-S404的描述与前述实施例中的S101的描述一致,此处不再赘述。
需要说明的是,终端从服务器接收第一鉴权响应信息的过程为:终端发送登录密钥的第一获取请求至服务器,该服务器响应该第一获取请求,发送第一鉴权响应信息至该终端。
S405、终端通过Web接口接收实现第一业务功能的网络请求,根据该网络请求发送接口调用密钥的第二获取请求至服务器。
S406、终端接收响应第二获取请求的第二鉴权响应信息。
这里,S405-S406的描述与前述实施例中的S102的描述一致,此处不再赘述。
需要说明的是,终端根据该网络请求从服务器接收第二鉴权响应信息的过程为:终端根据该网络请求发送接口调用密钥的第二获取请求至服务器,该服务器响应该第二获取请求,发送第二鉴权响应信息至该终端。
S406、终端接收响应第二获取请求的第二鉴权响应信息。
S407、终端根据Web的网络地址信息、第一鉴权响应信息和第二鉴权响应信息,对实现第一业务功能进行权限验证。
这里,S407的描述与前述实施例中的S103的描述一致,此处不再赘述。
S408、当实现第一业务功能的权限验证成功时,终端实现第一业务功能。
这里,S408的描述与前述实施例中的S104的描述一致,此处不再赘述。
实施例五
如图9所示,本发明实施例提供了一种终端1,该终端1可以包括:
接收单元10,用于当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,所述第一应用为正在使用的应用,所述第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;及通过所述Web接口接收实现第一业务功能的网络请求;以及根据所述网络请求从所述服务器接收第二鉴权响应信息,所述第一业务功能为所述Web接口调用本地数据实现的,所述第二鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证,所述网络请求中包括Web的网络地址信息。
鉴权单元11,用于根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证。
业务实现单元12,用于当所述实现所述第一业务功能的权限验证成功时,实现所述第一业务功能。
可选的,基于图9,如图10所示,所述终端还包括:检测单元13。
检测单元13,用于检测所述第一应用是否支持所述第一业务功能;当检测出支持所述第一业务功能时,检测所述Web中所述第一业务功能对应的第一插件是否加载。
所述业务实现单元12,具体用于当所述第一插件未加载时,从本地获取所述第一插件进行加载,并通过所述Web接口调用所述本地数据实现所述第一业务功能。
可选的,所述业务实现单元12,还具体用于所述检测所述第一业务功能对应的第一插件是否加载之后,当所述第一插件已加载时,通过所述Web接口调用所述本地数据实现所述第一业务功能。
可选的,所述获取单元,还用于根据所述Web的网络地址信息,获取所述第一业务功能对应的第一标识信息。
所述鉴权单元11,具体用于根据所述第一标识信息和预设标识列表,判断所述第一业务功能是否允许实现;及当所述第一业务功能允许实现时,将所述第一鉴权响应信息和所述第二鉴权响应信息进行对比;以及当所述第一鉴权响应信息和所述第二鉴权响应信息一致时,表征所述实现所述第一业务功能的权限验证成功。
可选的,基于图10,如图11所示,所述终端还包括:发送单元14。
发送单元14,用于所述检测是否支持所述第一业务功能之后,当未检测出支持所述第一业务功能时,发送所述第一业务功能的需求请求至所述服务器。
可选的,基于图9,如图12所示,所述终端还包括:更新单元15。
所述接收单元10,还用于所述从服务器获取第一鉴权响应信息之后,所述从所述服务器获取所述第二鉴权响应信息之前,接收所述服务器最新的第三鉴权响应信息,所述第三鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证。
所述更新单元15,用于采用所述第三鉴权响应信息更新所述第一鉴权响应信息。
可选的,基于图9,如图13所示,所述终端还包括:发送单元14。
发送单元14,用于发送登录密钥的第一获取请求至所述服务器。
所述接收单元10,具体用于接收响应所述第一获取请求的所述第一鉴权响应信息。
所述发送单元14,还用于根据所述网络请求发送接口调用密钥的第二获取请求至所述服务器。
所述接收单元10,还具体用于接收响应所述第二获取请求的所述第二鉴权响应信息。
可选的,基于图9,如图13所示,所述终端还包括:发送单元14。
所述发送单元14,用于所述根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证之后,当所述实现所述第一业务功能的权限验证未成功时,发送所述第一业务功能对应的网络请求至所述服务器。
如图14所示,在实际应用中,上述鉴权单元11、业务实现单元12、检测单元13和更新单元15可由位于终端上的处理器16实现,具体为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等实现,接收单元10由接收器17实现,发送单元14由发送器18实现,该终端还包括:存储介质19,该接收器17、发送器18和存储介质19可以通过系统总线110与处理器16连接,其中,存储介质19用于存储可执行程序代码,该程序代码包括计算机操作指令,存储介质19可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (16)

1.一种接口通信方法,其特征在于,包括:
当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,所述第一应用为正在使用的应用,所述第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;所述第一应用为安装在终端上的应用程序;
通过所述Web接口接收实现第一业务功能的网络请求,根据所述网络请求从所述服务器接收第二鉴权响应信息,所述第一业务功能为所述Web接口调用本地数据实现的,所述第二鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证,所述网络请求中包括Web的网络地址信息;所述第一业务功能为第一应用可支持或可实现的功能;
根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证;
当所述实现所述第一业务功能的权限验证成功时,实现所述第一业务功能。
2.根据权利要求1所述的方法,其特征在于,所述实现所述第一业务功能,包括:
检测所述第一应用是否支持所述第一业务功能;
当检测出支持所述第一业务功能时,检测所述Web中所述第一业务功能对应的第一插件是否加载;
当所述第一插件未加载时,从本地获取所述第一插件进行加载,并通过所述Web接口调用所述本地数据实现所述第一业务功能。
3.根据权利要求2所述的方法,其特征在于,所述检测所述第一业务功能对应的第一插件是否加载之后,所述方法还包括:
当所述第一插件已加载时,通过所述Web接口调用所述本地数据实现所述第一业务功能。
4.根据权利要求1所述的方法,其特征在于,所述根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证,包括:
根据所述Web的网络地址信息,获取所述第一业务功能对应的第一标识信息;
根据所述第一标识信息和预设标识列表,判断所述第一业务功能是否允许实现;
当所述第一业务功能允许实现时,将所述第一鉴权响应信息和所述第二鉴权响应信息进行对比;
当所述第一鉴权响应信息和所述第二鉴权响应信息一致时,表征所述实现所述第一业务功能的权限验证成功。
5.根据权利要求2所述的方法,其特征在于,所述检测是否支持所述第一业务功能之后,所述方法还包括:
当未检测出支持所述第一业务功能时,发送所述第一业务功能的需求请求至所述服务器。
6.根据权利要求1所述的方法,其特征在于,所述从服务器获取第一鉴权响应信息之后,所述从所述服务器获取所述第二鉴权响应信息之前,所述方法还包括:
接收所述服务器最新的第三鉴权响应信息,所述第三鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证;
采用所述第三鉴权响应信息更新所述第一鉴权响应信息。
7.根据权利要求1所述的方法,其特征在于,从服务器接收第一鉴权响应信息,包括:
发送登录密钥的第一获取请求至所述服务器;
接收响应所述第一获取请求的所述第一鉴权响应信息;
相应的,所述根据所述网络请求从所述服务器接收第二鉴权响应信息,包括:
根据所述网络请求发送接口调用密钥的第二获取请求至所述服务器;
接收响应所述第二获取请求的所述第二鉴权响应信息。
8.根据权利要求1所述的方法,其特征在于,所述根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证之后,所述方法还包括:
当所述实现所述第一业务功能的权限验证未成功时,发送所述第一业务功能对应的网络请求至所述服务器。
9.一种终端,其特征在于,包括:
接收单元,用于当第一应用处于登录状态时,从服务器接收第一鉴权响应信息,所述第一应用为正在使用的应用,所述第一鉴权响应信息用于对通过Web接口调用本地数据进行权限验证;及通过所述Web接口接收实现第一业务功能的网络请求;以及根据所述网络请求从所述服务器接收第二鉴权响应信息,所述第一业务功能为所述Web接口调用本地数据实现的,所述第二鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证,所述网络请求中包括Web的网络地址信息;所述第一应用为安装在终端上的应用程序;所述第一业务功能为第一应用可支持或可实现的功能;
鉴权单元,用于根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证;
业务实现单元,用于当所述实现所述第一业务功能的权限验证成功时,实现所述第一业务功能。
10.根据权利要求9所述的终端,其特征在于,所述终端还包括:检测单元;
检测单元,用于检测所述第一应用是否支持所述第一业务功能;当检测出支持所述第一业务功能时,检测所述Web中所述第一业务功能对应的第一插件是否加载;
所述业务实现单元,具体用于当所述第一插件未加载时,从本地获取所述第一插件进行加载,并通过所述Web接口调用所述本地数据实现所述第一业务功能。
11.根据权利要求10所述的终端,其特征在于,
所述业务实现单元,还具体用于所述检测所述第一业务功能对应的第一插件是否加载之后,当所述第一插件已加载时,通过所述Web接口调用所述本地数据实现所述第一业务功能。
12.根据权利要求9所述的终端,其特征在于,所述终端还包括:获取单元;
所述获取单元,用于根据所述Web的网络地址信息,获取所述第一业务功能对应的第一标识信息;
所述鉴权单元,具体用于根据所述第一标识信息和预设标识列表,判断所述第一业务功能是否允许实现;及当所述第一业务功能允许实现时,将所述第一鉴权响应信息和所述第二鉴权响应信息进行对比;以及当所述第一鉴权响应信息和所述第二鉴权响应信息一致时,表征所述实现所述第一业务功能的权限验证成功。
13.根据权利要求10所述的终端,其特征在于,所述终端还包括:发送单元;
发送单元,用于所述检测是否支持所述第一业务功能之后,当未检测出支持所述第一业务功能时,发送所述第一业务功能的需求请求至所述服务器。
14.根据权利要求9所述的终端,其特征在于,所述终端还包括:更新单元;
所述接收单元,还用于所述从服务器获取第一鉴权响应信息之后,所述从所述服务器获取所述第二鉴权响应信息之前,接收所述服务器最新的第三鉴权响应信息,所述第三鉴权响应信息用于对通过所述Web接口调用所述本地数据进行权限验证;
所述更新单元,用于采用所述第三鉴权响应信息更新所述第一鉴权响应信息。
15.根据权利要求9所述的终端,其特征在于,所述终端还包括:发送单元;
发送单元,用于发送登录密钥的第一获取请求至所述服务器;
所述接收单元,具体用于接收响应所述第一获取请求的所述第一鉴权响应信息;
所述发送单元,还用于根据所述网络请求发送接口调用密钥的第二获取请求至所述服务器;
所述接收单元,还具体用于接收响应所述第二获取请求的所述第二鉴权响应信息。
16.根据权利要求9所述的终端,其特征在于,所述终端还包括:发送单元;
所述发送单元,用于所述根据所述Web的网络地址信息、所述第一鉴权响应信息和所述第二鉴权响应信息,对实现所述第一业务功能进行权限验证之后,当所述实现所述第一业务功能的权限验证未成功时,发送所述第一业务功能对应的网络请求至所述服务器。
CN201611158444.3A 2016-12-15 2016-12-15 一种接口通信方法及终端 Active CN108234399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611158444.3A CN108234399B (zh) 2016-12-15 2016-12-15 一种接口通信方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611158444.3A CN108234399B (zh) 2016-12-15 2016-12-15 一种接口通信方法及终端

Publications (2)

Publication Number Publication Date
CN108234399A CN108234399A (zh) 2018-06-29
CN108234399B true CN108234399B (zh) 2020-11-06

Family

ID=62651434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611158444.3A Active CN108234399B (zh) 2016-12-15 2016-12-15 一种接口通信方法及终端

Country Status (1)

Country Link
CN (1) CN108234399B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901827A (zh) * 2019-03-13 2019-06-18 厦门美图之家科技有限公司 应用交互方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902588A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 网页访问方法及用户终端
CN106131143A (zh) * 2016-06-28 2016-11-16 北京车智赢科技有限公司 一种实现Hybrid App的HTML与Native交互的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796085B2 (en) * 2013-07-10 2020-10-06 Crowdcomfort, Inc. Systems and methods for providing cross-device native functionality in a mobile-based crowdsourcing platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902588A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 网页访问方法及用户终端
CN106131143A (zh) * 2016-06-28 2016-11-16 北京车智赢科技有限公司 一种实现Hybrid App的HTML与Native交互的方法

Also Published As

Publication number Publication date
CN108234399A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
US8850211B2 (en) Method and apparatus for improving code and data signing
US10291631B2 (en) System for testing computer application
JP5275330B2 (ja) モバイル装置でのより安全なブラウジングのための信頼されるグラフィック描画
CN106330984B (zh) 访问控制策略的动态更新方法及装置
CN112771826A (zh) 一种应用程序登录方法、应用程序登录装置及移动终端
WO2015180690A1 (zh) 验证信息的读取方法及装置
KR101756692B1 (ko) 다이나믹 보안모듈 단말장치 및 그 구동방법
US10489145B2 (en) Secure update of firmware and software
CN103744686A (zh) 智能终端中应用安装的控制方法和系统
CN103514000A (zh) 浏览器插件安装方法和装置
CN104751049A (zh) 一种应用程序安装方法及移动终端
US20190215696A1 (en) Antitheft Method for Mobile Terminal and Apparatus
CN110276193B (zh) 风险特征输出方法、应用运行控制方法、系统及装置
CN110247897B (zh) 一种系统登录方法、设备、网关及计算机可读存储介质
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
US10606813B2 (en) Systems and methods for securely managing program execution
KR101436404B1 (ko) 사용자 인증 장치 및 방법
CN108234399B (zh) 一种接口通信方法及终端
CN106293962B (zh) 一种调用系统命令的方法和装置
CN106878233B (zh) 安全数据的读取方法、安全服务器、终端及系统
CN111800390A (zh) 异常访问检测方法、装置、网关设备及存储介质
CN109802927B (zh) 一种安全服务提供方法及装置
CN107846390B (zh) 应用程序的认证方法及装置
US11689551B2 (en) Automatic identification of applications that circumvent permissions and/or obfuscate data flows
CN110597557A (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