CN102591705B - 一种开放平台代理访问方法及装置 - Google Patents
一种开放平台代理访问方法及装置 Download PDFInfo
- Publication number
- CN102591705B CN102591705B CN201110009303.6A CN201110009303A CN102591705B CN 102591705 B CN102591705 B CN 102591705B CN 201110009303 A CN201110009303 A CN 201110009303A CN 102591705 B CN102591705 B CN 102591705B
- Authority
- CN
- China
- Prior art keywords
- application
- official
- open platform
- agreement
- request
- 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
- 230000002452 interceptive Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 7
- 230000000977 initiatory Effects 0.000 claims description 3
- 230000000875 corresponding Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001429 stepping Effects 0.000 description 1
Abstract
本发明公开了一种开放平台代理访问方法及装置,用于解决第三方应用平台内嵌SDK造成资源占用过大,密码安全性不高,及URL格式交互接口受参数格式限制无法上传本地文件等技术问题。本发明在用户终端中创建官方应用,官方应用通过开放平台提供的SDK实现与开放平台的交互;官方应用向用户终端操作系统申请具有URL格式的协议来绑定官方应用,并通过URL格式的协议向第三方应用提供交互接口。本发明降低了第三方应用对用户终端上的系统资源的占用,降低了第三方应用的开发成本,保护用户帐号安全。
Description
技术领域
本发明涉及开放平台应用开发领域,尤其涉及一种开放平台代理访问方法及装置。
背景技术
为了支持第三方开发满足不同应用需求的第三方应用程序,开放平台都会为第三方应用提供应用程序接口(API),通常还会提供API的软件开发包(SDK)下载,供第三方应用快速方便的开发。开发者开发出第三方应用通过调用SDK与开放平台交换数据,为用户提供丰富的终端应用。在使用需要鉴权的开放平台的第三方应用时,用户需要输入用户名和密码,经开放平台验证后,方能正常调用开放平台的功能接口。
例如,某些大型网站的微博系统都提供有一个开放平台,该开放平台为第三方软件开发商提供API接口及SDK,通过API提供海量的微博信息、粉丝关系、以及随时随地发生热门话题。移动终端应用开发者可以直接通过API或者使用SDK对微博系统进行读写,挖掘微博系统的新应用。以手机微博客户端应用为例,用户在客户端输入自己在微博注册的用户名和密码登录后,可以随时把画报内容图片分享到微博开放平台上。但该实现方案的缺陷在于,第三方应用需要内嵌SDK,处理登录鉴权逻辑,对于只需要使用开放平台的很小部分功能的第三方应用来说,占用资源过大、开发成本过高。此外,用户需要在第三方应用中输入用户名和密码,可能导致用户名和密码被盗取的安全问题
开放平台还有一种无需在第三方应用中登录鉴权的方案,该方案不需要在第三方应用中内嵌SDK,第三方应用通过浏览器给平台发送特定格式的统一资源定位符(URL)请求,URL中包含具体数据的参数。如果开放平台需要鉴权登录,用户需要在开放平台返回的网页中输入从开放平台获取的用户名和密码登录来完成请求。以腾讯微博开放平台(http://open.t.qq.com/)为例,第三方应用可以通过浏览器发送以下特定格式的URL请求来发布微博:
http://v.t.qq.com/share/share.php?title=mytitle&url=myurl&pic=mypic
其中mytitle为要发布的微博内容,myurl为内容要加的链接,mypic为需要附带的图片,第三方应用会根据实际情况填写发布内容、链接和图片。如果处于未登录状态,用户需要在平台返回的页面中输入用户名和密码,然后才能确认发布。
当上述第二种实现方案的缺陷在于,由于URL格式与开放平台交互,受URL携带参数格式的限制,无法上传本地文件,参数中指向的文件只能来源于互联网。此外,用户需要在第三方应用中输入用户名和密码,可能导致用户名和密码被盗取的安全问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种开放平台代理访问方法及装置,用于解决第三方应用平台内嵌SDK造成资源占用过大,密码安全性不高,及URL格式交互接口受参数格式限制无法上传本地文件等技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种开放平台代理访问方法,该方法包括:
在用户终端中创建官方应用,第三方应用通过官方应用提供的交互接口访问开放平台,所述官方应用通过开放平台提供的软件开发包(SDK)实现与开放平台的交互;所述官方应用提供的交互接口指官方应用向第三方应用提供的具有统一资源定位符(URL)格式的协议接口。
进一步地,所述第三方应用通过所述官方应用与开放平台进行交互的过程具体为:
所述第三方应用通过所述URL格式的协议发送访问所述开放平台的请求给所述官方应用;
所述官方应用解析所述第三方应用发送的访问请求,获取请求内容后通过API接口将请求转发给所述开放平台;
所述开放平台将请求的响应结果发送给官方应用,官方应用再将响应结果转发给发送请求的第三方应用。
所述官方应用提供配置接口,通过该配置接口可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用。
所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后,代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
进一步地,若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址参数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址参数从本地读取文件内容,通过API接口将文件内容随请求一同发送给所述开放平台。
基于上述方法,本发明还提出一种用户终端,该用户终端中包含:
官方应用,用于通过开放平台提供的SDK实现与开放平台的交互;还用于向用户终端操作系统申请具有URL格式的协议,并通过所述URL格式的协议向一个或多个第三方应用提供交互接口;
第三方应用,用于向所述官方应用发起与开放平台的交互请求并获取响应结果。
所述官方应用提供配置接口,通过该配置接口可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用。
所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后,代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址参数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址参数从本地读取文件内容,通过API接口将文件内容随请求一同发送给所述开放平台。
本发明在用户终端中创建官方应用,由官方应用来负责处理与开放平台的数据交换和用户鉴权登录过程,并向位于用户终端的第三方应用提供URL格式的应用程序接口,从而降低了第三方应用对用户终端上的系统资源的占用,降低了开发成本,保护用户帐号安全。
本发明有益效果为:
(1)官方应用内嵌SDK,实现开放平台的接口代理;
之前的开放平台都是让第三方应用直接与开放平台服务器沟通,交互数据,每一个第三方应用都需要内嵌SDK,都需要重复处理用户的登录验证等权限控制,通过本发明的官方应用可避免每一个第三方应用都内嵌SDK,节省了用户终端侧的资源占用;同时,通过官方应用实现单点登录,能够尽可能的保障账号的安全。
(2)官方应用向用户终端侧的第三方应用提供URL格式应用程序接口;
官方应用向用户终端侧提供实现简单的URL格式应用程序接口,简化了第三方应用的开发,在用户终端系统内部使用URL格式的应用程序接口在业内尚属首次。
附图说明
图1为本发明开放平台代理访问方法的步骤流程图;
图2为本发明第三方应用、官方应用及开放平台之间的信息交互过程;
图3为本发明提出的一种实现本发明所述方法的用户终端。
具体实施方式
本发明的基本思想是:在用户终端侧创建官方应用,官方应用中嵌入SDK,官方应用通过SDK中的API与开放平台交换数据,并负责到开放平台的用户鉴权和登录;官方应用向用户终端侧提供简单易用的URL格式应用程序接口,第三方应用基于官方应用公开的URL格式应用程序接口与官方应用交互,一个官方应用可连接多个第三方应用。官方应用作为开放平台与第三方应用之间的中间层,可使多个第三方应用共用一套SDK,实现用户名和账号的单点登录,节省了用户终端侧的资源占用,降低了开发成本,保障了帐号安全。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明实现开放平台代理访问方法的步骤流程图,具体步骤包括:
步骤100、在用户终端中创建官方应用,官方应用通过开放平台提供的API实现与开放平台的交互;
开放平台对外公开发布应用程序接口(API),用于外部应用调用开放平台提供的服务,通常开放平台会将API函数打包形成软件开发包(SDK)发布给第三方。本发明中,官方应用使用开放平台提供的SDK编程实现与开放平台的数据交互,优选地,在官方应用中提供用户登录开放平台的接口,由官方应用提供账号和密码的输入功能,并在第三方应用通过官方应用访问开放平台时,自动或根据用户的授权完成用户的登录与鉴权过程。在登录成功后,登录账号和密码加密存储,多个第三方应用可共用官方应用登录开放平台。
步骤102、官方应用向用户终端操作系统申请具有URL格式的协议来绑定官方应用,并通过所述URL格式的协议向第三方应用提供交互接口;
标准的互联网访问协议都采用统一资源定位符(URL)来访问互联网资源,例如超文本传输协议(HTTP)、安全超文本传输协议(HTTPS)、微软媒体服务器协议(mms)等,他们的URL前缀分别为http://,https://,mms://等。本发明官方应用可通过申请特定的URL格式协议来绑定官方应用,例如,官方应用可向系统申请具有txwb://形式的URL格式协议来绑定官方应用,任何第三方应用可通过发送txwb://格式的URL访问来唤起官方应用。
步骤104、一个或多个第三方应用通过绑定官方应用的URL格式协议发起访问开放平台的请求,官方应用解析第三方应用发送的请求,获取请求内容后通过API接口将请求重新发送给开放平台;
待官方应用向用户终端上的操作系统申请好URL格式的协议后,第三方应用就可以调用官方应用了,例如通过如下URL地址来发布微博:
txwb://share?content=mycontent&pic=\var\local\pic.png
官方应用接收到第三方应用的请求后,解析第三方应用发送的URL访问请求,获取URL中的参数值。URL中,“txwb://”为绑定官方应用的URL格式的协议地址头部;“share”为分配给微博应用的标识符,“content”参数用于指示微博的文字内容,“pic”参数用于指示微博的图片。当然,该URL访问请求可根据具体的应用进行扩展,例如增加相应的参数,各参数以参数分隔符“&”分隔。
步骤106、开放平台将请求的响应结果发送给官方应用,官方应用再将响应结果转发给发送请求的第三方应用。
以下以微博系统为例说明本发明的技术方案:
传统模式下,微博服务端系统作为一个开放平台向第三方应用公开应用程序接口(API),并将API函数形成软件开发包(SDK)分发给第三方应用,而本发明中,构建微博系统的厂商,即官方发布一个官方应用,该官方应用基于该官方发布的SDK编程实现,该微博系统构建商将该官方应用发布给移动终端的生产厂商,由移动终端的生产商将其嵌入到移动终端的操作系统中,或发布到网络上后,由移动终端用户自己下载安装到移动终端中。
该官方应用作为第三方应用到微博服务端的访问代理,实现一个或多个第三方应用与微博服务系统的交互。官方应用提供配置接口,可通过该配置接口告知官方应用向操作系统申请特定的URL格式的协议,并将该特定的URL格式的协议与官方应用绑定,例如,通过配置接口,可申请以“txwb://”为访问地址头部的URL格式的协议作为第三方应用与官方应用之间的应用程序交互接口,当第三方应用通过“txwb://”开头的URL地址访问格式向开发平台发起交互请求时,官方应用自动被唤醒。
如图2所示,以微博应用为例,第三方应用与开放平台之间的交互过程包括以下几个步骤:
步骤201、第三方应用以特定URL格式协议发起新增微博的请求给官方应用;
例如以“txwb://share?content=mycontent&pic=\var\local\pic.png”URL地址向官方应用发起请求,请求在微博系统发布一篇微博,其中mycontent为发布的微博内容,“\var\local\pic.png”为微博对应的图片,该图片为本地存储的图片,第三方应用并不需要向官方应用发送图片实际内容,由于图片就在本地,因此官方应用可根据路径直接读取。
步骤202、官方应用接收到请求后,解析URL格式的访问请求,获取请求内容;
官方应用获取请求中的请求内容,若请求内容中如包含媒体文件(例如图片、动画、视频、音频等类型的文件),则官方应用根据URL中所指示的媒体文件地址读取媒体文件内容。
步骤203、官方应用将第三方应用通过特定URL格式的协议发送的请求转换为API形式的访问请求转发给开放平台。
以新增微博为例,官方应用通过开放平台的API接口将新增微博请求转发给开放平台,通过API接口形式可将微博内容及读取的媒体文件内容一同上传到开放平台。
步骤204、开放平台接收到官方应用发送的API形式的请求后执行相应的处理并向官方应用反馈处理结果;
步骤205、官方应用在将处理结果反馈给第三方应用,该步骤为可选步骤。
优选地,为了提高用户账号及密码信息的安全性,官方应用还可提供用户登录认证和鉴权的处理功能,在不提供该功能的情况下,需要每个第三方应用自己处理用户登录认证和鉴权过程,而提供该功能后,用户只需要通过官方应用提供的账号密码输入接口输入账号密码后,与开放平台进行交互实现用户的登录认证和鉴权处理,而在官方应用登录成功后,即可代理开放平台对第三方应用进行登录认证和鉴权处理。通过该方法减少了用户终端与服务端之间的登录认证次数,实现了单点登录,提高了账号密码的安全性,方便了账号密码的管理。
图3为本发明基于上述方法提出的一种实现本发明所述方法的用户终端300,该终端中包含官方应用301及一个或多个第三方应用302;
官方应用301,用于通过开放平台提供的SDK实现与开放平台的交互;还用于向用户终端操作系统申请具有URL格式的协议,并通过所述URL格式的协议向一个或多个第三方应用提供交互接口;
优选地,所述官方应用301提供配置接口,通过该配置接口可指示所述官方应用301向用户终端的操作系统申请所述URL格式的协议,并将所述URL格式的协议与官方应用301绑定,第三方应用302通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用301。
优选地,所述官方应用301还提供用户的登录认证和鉴权处理功能,在官方应用301登录成功后,代理所述开放平台对第三方应用302的访问请求进行本地的认证和鉴权。
第三方应用302,用于向所述官方应用301发起与开放平台的交互请求并获取响应结果。
若所述第三方应用302通过所述URL格式的协议向所述官方应用301发送的访问请求中包含文件地址参数,则所述官方应用301解析所述第三方应用302发送的请求后,根据所述文件地址参数从本地读取文件内容,通过API接口将文件内容随请求一同发送给所述服务端的开放平台。
由于本发明所提供的用户终端300是用于实现本发明提出的开放平台代理访问方法,因此其包含的功能模块都是为了实现本发明所述方法中的步骤流程而设,为节省篇幅,该装置实施例中与方法实施例中相同及可毫无疑义地推导出的内容此处省略,但这不应理解为对本发明装置实施例的限制。任何实现本发明所述方法的系统、装置和模块都应包含在本发明的保护范围之内。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (7)
1.一种开放平台代理访问方法,其特征在于,该方法包括:
在用户终端中创建官方应用,第三方应用通过官方应用提供的交互接口访问开放平台;所述官方应用通过开放平台提供的软件开发包(SDK)实现与开放平台的交互;所述官方应用提供的交互接口指官方应用向第三方应用提供的具有统一资源定位符(URL)格式的协议接口;
所述官方应用提供配置接口,通过该配置接口可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,以将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用,待所述官方应用向用户终端上的操作系统申请好URL格式的协议后使第三方应用支持调用官方应用。
2.根据权利要求1所述的方法,其特征在于,所述第三方应用通过所述官方应用与开放平台进行交互的过程具体为:
所述第三方应用通过所述URL格式的协议发送访问所述开放平台的请求给所述官方应用;
所述官方应用解析所述第三方应用发送的访问请求,获取请求内容后通过API接口将请求转发给所述开放平台;
所述开放平台将请求的响应结果发送给官方应用,官方应用再将响应结果转发给发送请求的第三方应用。
3.根据权利要求1所述的方法,其特征在于,
所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后,代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
4.根据权利要求2所述的方法,其特征在于,
若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址参数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址参数从本地读取文件内容,通过API接口将文件内容随请求一同发送给所述开放平台。
5.一种用户终端,其特征在于,该用户终端中包含:
官方应用,用于通过开放平台提供的SDK实现与开放平台的交互;还用于向用户终端操作系统申请具有URL格式的协议,并通过所述URL格式的协议向一个或多个第三方应用提供交互接口;
第三方应用,用于向所述官方应用发起与开放平台的交互请求并获取响应结果;
所述官方应用提供配置接口,通过该配置接口可指示所述官方应用向用户终端的操作系统申请所述URL格式的协议,以将所述URL格式的协议与官方应用绑定,第三方应用通过发送具有所述URL格式的协议的访问请求来唤醒所述官方应用,待所述官方应用向用户终端上的操作系统申请好URL格式的协议后使第三方应用支持调用官方应用。
6.根据权利要求5所述的用户终端,其特征在于,
所述官方应用还提供用户的登录认证和鉴权处理功能,在官方应用登录成功后,代理所述开放平台对第三方应用的访问请求进行本地的认证和鉴权。
7.根据权利要求5所述的用户终端,其特征在于,
若所述第三方应用通过所述URL格式的协议向所述官方应用发送的访问请求中包含文件地址参数,则所述官方应用解析所述第三方应用发送的请求后,根据所述文件地址参数从本地读取文件内容,通过API接口将文件内容随请求一同发送给所述开放平台。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110009303.6A CN102591705B (zh) | 2011-01-17 | 一种开放平台代理访问方法及装置 | |
PCT/CN2012/070491 WO2012097728A1 (zh) | 2011-01-17 | 2012-01-17 | 一种开放平台代理访问方法及装置 |
US13/903,771 US9032489B2 (en) | 2011-01-17 | 2013-05-28 | Method and device for proxy access of open platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110009303.6A CN102591705B (zh) | 2011-01-17 | 一种开放平台代理访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591705A CN102591705A (zh) | 2012-07-18 |
CN102591705B true CN102591705B (zh) | 2016-12-14 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649324A (zh) * | 2004-01-26 | 2005-08-03 | 朗迅科技公司 | 操作带有代理的开放api网络的方法和装置 |
CN101296243A (zh) * | 2008-06-26 | 2008-10-29 | 阿里巴巴集团控股有限公司 | 一种服务集成平台系统及提供互联网服务的方法 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649324A (zh) * | 2004-01-26 | 2005-08-03 | 朗迅科技公司 | 操作带有代理的开放api网络的方法和装置 |
CN101296243A (zh) * | 2008-06-26 | 2008-10-29 | 阿里巴巴集团控股有限公司 | 一种服务集成平台系统及提供互联网服务的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108901022B (zh) | 一种微服务统一鉴权方法及网关 | |
US10057734B2 (en) | System and method for transmitting and receiving media messages | |
US9264435B2 (en) | Apparatus and methods for access solutions to wireless and wired networks | |
US9258344B2 (en) | Multi-hop single sign-on (SSO) for identity provider (IdP) roaming/proxy | |
US20130246504A1 (en) | Method for subscribing to notification, apparatus and system | |
CN109067728A (zh) | 应用程序接口的访问控制方法、装置、服务器及存储介质 | |
CN101345752B (zh) | 保证移动终端访问web资源安全的方法、装置及系统 | |
CN105812323B (zh) | 一种网络跨域访问数据的方法和装置 | |
CN104754030A (zh) | 用户信息获取方法及装置 | |
CN104796396A (zh) | 提供用于基于策略的应用代理的网络代理层的方法和介质 | |
CN105144111A (zh) | 用于不同web服务架构的中继服务 | |
CN103973642A (zh) | 实现js应用程序接口安全访问控制的方法与装置 | |
CN104767614B (zh) | 一种信息认证方法及装置 | |
CN1761188B (zh) | 一种单点登录方法和单点登出方法 | |
CN103179099A (zh) | 一种接入开放网站平台的统一认证方法和一种网站平台 | |
US9032489B2 (en) | Method and device for proxy access of open platform | |
KR101349201B1 (ko) | 모바일 단말에서 웹브라우저와 로컬 리소스의 연동 장치 및 그 방법 | |
WO2019119974A1 (zh) | 对象上传方法及装置 | |
CN102591705B (zh) | 一种开放平台代理访问方法及装置 | |
TW201121275A (en) | Cookie processing device, cookie processing method, cookie processing program, cookie processing system and information communication system | |
CN102480475B (zh) | Web服务安全访问控制方法、装置及系统 | |
JP5009241B2 (ja) | 通信接続制御装置、通信接続方法、通信サービスシステム、及びプログラム | |
CN103812843A (zh) | 基于WebService应用的鉴权方法及系统 | |
CN101917476A (zh) | 超文本传输协议消息处理方法及其客户端系统 | |
WO2010017828A1 (en) | Secure browser-based access to web services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |