CN106549907B - 一种web app访问方法、装置和系统 - Google Patents
一种web app访问方法、装置和系统 Download PDFInfo
- Publication number
- CN106549907B CN106549907B CN201510595357.3A CN201510595357A CN106549907B CN 106549907 B CN106549907 B CN 106549907B CN 201510595357 A CN201510595357 A CN 201510595357A CN 106549907 B CN106549907 B CN 106549907B
- Authority
- CN
- China
- Prior art keywords
- server
- web
- web app
- file
- cloud
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 claims description 22
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 abstract description 7
- 238000010168 coupling process Methods 0.000 abstract description 7
- 238000005859 coupling reaction Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种web app访问方法、装置和系统,涉及云计算技术领域。所述方法包括:从第一服务器中获取针对web app的网页文档以及身份验证令牌;在所述网页文档中加载第三服务器中的web app文件;基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。本申请使webapp耦合度低,可以灵活移植和复用。
Description
技术领域
本申请涉及云计算技术领域,特别是涉及一种web app访问方法、装置和系统。
背景技术
web app是一种通过网络(如互联网或内联网)访问的应用程序;也可以指计算机软件承载在浏览器支持环境下或使用浏览器支持语言(如JavaScript,脚本)并依赖于web浏览器来渲染的应用程序。web app的流行归功于网页浏览器的普及,以及使用这一轻薄客户端方便的用户体验。不必下载安装就可以实现更新和维护,具有支持跨平台的内在属性,是web app开始流行的关键原因。典型的web app产品包括web邮箱、web商店、wikis等等。要实现web app必须满足以下几点关键条件:
(1)用户交互。web app必须可以提供界面给用户进行数据展示和用户操作。
(2)数据交互。web app必须可以使用http协议通过互联网与web服务进行交互,如数据下载和上传
(3)安全保证。web app必须有能力识别用户身份和权限。
目前的技术中web app开发者开发的web app都是基于服务器本地的资源进行开发。对于第一方的web app服务提供者,其可能自身去开发web app,然后将该web app部署在第一方的服务器上,以供用户访问。
另外,对于第一方来说,其可能不自己开发web app,而是从第三方处获取第三方开发的web app,比如第一方从第三方处,拷贝第三方开发的完整web app包,然后部署在第一方自己的服务器上,以供用户访问。
但是,上述几种方案中,用户都是通过第一方的服务器提供的接口将数据进行上传和下载,在此过程中使用浏览器的cookie+服务器session的方式进行鉴权,web app的耦合性高、无法进行移植和复用。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种web app访问方法和相应的一种web app访问装置。
为了解决上述问题,本申请公开了一种web app访问方法,包括:
从第一服务器中获取针对web app的网页文档以及身份验证令牌;
在所述网页文档中加载第三服务器中的web app文件;
基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
还公开了一种web app访问装置,包括:
文档及令牌获取模块,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块,用于在所述网页文档中加载第三服务器中的web app文件;
云交互模块,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
还公开了一种web app访问系统,包括:
客户端、第一服务器、第三服务器、云服务器;
所述客户端包括:
文档及令牌获取模块,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块,用于在所述网页文档中加载第三服务器中的web app文件;
云交互模块,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
本申请实施例包括以下优点:
本申请实施例,由于第一方的第一服务器的网页文档中,提供了可加载由第三方开发的以静态文本形式放置于第三服务器中的web app文件,并且由第一方的第一服务器为客户端提供了身份验证令牌,从而客户端的用户可以在其对应网页文档中网页中,对webapp的相关功能进行点击操作,从而可以与通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。因此:
首先:本申请实施例第三方开发的web app由于可以静态文件的方式存储于其第三服务器中,任意第一方的第一服务器的用户,可以简单的通过第一方的网页文档,在第一服务器所在的域名中加载该web app,使第一方的客户端即可使用web app的完整功能。使该web app可复用性高,第三方不用为多个第一方单独开发一个web app,第一方也不用为web app构建数据库等服务器,降低第一方的设备成本。
其次,客户端在其网页中使用web app时,客户端通过第一服务器给予的身份验证令牌与云服务器进行交互,客户端与云服务器进行交互时不需要客户端cookie+服务器session的鉴权方式,使web app的耦合度低,可以灵活移植和复用。
附图说明
图1是本申请的一种web app访问方法实施例的步骤流程图;
图2是本申请对图1中一种web app访问方法实施例中步骤110的一种优选示例;
图3是本申请对图1中一种web app访问方法实施例中步骤120的一种优选示例;
图4是本申请对图1中一种web app访问方法实施例中步骤130的一种优选示例;
图5是本申请的一种web app访问装置实施例的结构框图;
图6是本申请的一种web app访问系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的核心构思之一在于,第三方将其开发的web app文件以静态文件的形式放置在其第三服务器中,而在第一服务器构建网页文档时,如HTML(Hyper textMarkup Language,超文本标记语言)文档时,在HTML文档中加入加载所述web app文件的代码,从而客户端可以在从第一服务器获取到针对该web app的HTML文档后,通过客户端的浏览器解析所述HTML文档,通过HTML文档中加载所述web app文件的代码,从第三服务器中获取web app文件进行加载,然后渲染到浏览器的页面中,并且第一服务器还为该客户端分配身份验证令牌,从而可以使客户端基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。使本申请实施例的第三方的web app的耦合性低,增加了移植性和可复用性。
参照图1,示出了本申请的一种web app访问方法实施例的步骤流程图,具体可以包括如下步骤:
步骤110,从第一服务器中获取针对web app的网页文档以及身份验证令牌。
在本申请实施例中,客户端可以访问第一服务器,从第一服务器获取针对web app的HTML文档。
同时,还可以从第一服务器获取身份验证令牌。比如对于针对第一服务器中对应web app为web邮箱的HTML文档,用户可以在浏览器显示的登录页面中输入其身份信息,如用户名和密码,然后用户可在页面中点击登录,那么客户端浏览器即可从第一服务器获取该对应web app为web邮箱的HTML文档。并且可以接收第一服务器返回的针对该用户名和密码的身份验证令牌,该身份验证令牌为可通过云服务器认证的令牌。
在本申请实施例中该身份验证令牌可以采用STS token(Security TokenService token,安全令牌服务的令牌),当然,也可以采用其他类型的身份验证令牌。
在本申请实施例的一种优选实施例中,,在步骤110之前,还包括:
步骤101,在云服务器中的对应第一服务器的主账户内,分配子账户并为所述子账户生成原始令牌;
在实际应用中,在云服务器可以预置一套账户系统,如RAM(Resource AccessManagement,资源访问控制系统),第一方的管理人员可以在云服务器中申请一个主账户,然后在该主账户之下设置各种权限的子账户,使子账户的使用者可以采用该子账户对该主账户的资源按照其权限进行相应的访问等管理操作。
而本申请实施例中,则利用上述账户系统,由第一方的管理人员在云服务器中申请一个主账户,该主账户应用于第一服务器中。然后该主账户分配多个子账户,同时为该子账户生成原始令牌,该令牌如AccessKeyId和AccessKeySecret,即登录云服务器的该子账户的账户和密码。
需要说明的是,在主账户中分配的子账户的个数可以根据客户端用户的个数确定,比如根据在第一服务器中注册的使用其webabb的用户数确定。可以理解子账户的个数大于等于客户端用户的个数。优选地,子账户的个数等于客户端用户的个数
步骤102,所述第一服务器将客户端用户的身份信息与一子账户一一对应,并基于所述原始令牌生成身份验证令牌。
为了避免客户端用户a对客户端用户b的资源进行操作,本申请实施例的第一服务器将一个客户端用户对应一个子账户,即一个AccessKeyId和AccessKeySecret对应一个子账户。
然后,为了保证原始令牌的安全,本申请实施例则在用户访问前述HTML文档时,基于所述原始令牌生成身份令牌,如前述STS token,该STS token可为针对客户端用户的一个具备自定义时效和访问权限的访问凭证。
需要说明书的,对于客户端用户在第一服务器注册的身份信息,如用户名和密码,则第一服务器可以查找其记录的未对应身份信息的子账户,将该子账户对应该新注册的客户端用户的身份信息,然后第一服务器对于登录的客户端用户可以调用云服务器的STSAPI,基于所述原始令牌,生成针对客户端用户的身份信息的身份验证令牌。
其中,所述STS API比如AssumeRole,通过该接口,获取一个操作该子账户的临时身份。该AssumeRole包括如下参数:
1、请求参数:
(1)Action
类型:String
必须:是
描述:系统规定参数,取值:AssumeRole
(2)RoleArn
类型:String
必须:是
描述:指定角色的资源描述符
(3)RoleSessionName
类型:String
必须:是
描述:指定临时身份的会话名称,此参数用来区分不同的临时身份;建议使用您外部客户的ID。格式:^[a-zA-Z0-9\.@\-_]+$
(4)Policy
名称:Policy
类型:String
必须:否
描述:指定的授权策略。默认长度限制为1024字节,不指定则返回的临时身份拥有角色的完整权限。
(5)DurationSeconds
名称:DurationSeconds
类型:Integer
必须:否
描述:指定的过期时间,单位为秒。过期时间范围:900~3600,默认值为3600。
2、返回参数
(1)Credentials
类型:Credentials
描述:访问凭证
(2)AssumedRoleUser
类型:AssumedRoleUser
描述:角色扮演临时身份
当然,如果所有子账户都已经对应了一个身份信息,则可以登录云服务器以在其主账户之下在分配一个子账户,并生成AccessKeyId和AccessKeySecret,然后将该子账户记录到第一服务器中,并与该新注册的客户端用户的身份信息。
在本申请实施例的一种优选实施例中,参照图2,所述步骤110,包括:
子步骤111,向第一服务器发送针对web app的网页请求;所述网页请求中包括客户端用户的身份信息;
子步骤112,接收由第一服务器返回的针对web app的网页文档,以及接收第一服务器返回的针对所述客户端用户的身份信息的身份验证令牌;其中所述第一服务器根据客户端的身份信息,获取与所述身份信息对应的身份验证令牌。
在本申请实施例中,第一服务器将针对web app的HTML文档上线后,会以一个网址与之对应,客户端用户需要使客户端先发送针对web app的网页请求,并将其身份信息也通过该网页请求发送至服第一服务器。
在实际应用中,该网页请求可以为登录请求,比如对于前述针对web app为web邮箱的网页,客户端用户首先要在客户端浏览器打开登录页面,该登录页面并没有加载web邮箱的web app文件。然后用户可以在该登录页面中填入身份信息,如客户端用户的用户名和密码,如用户名为A123、密码为123456。然后用户在登录页面中点击登录,那么客户端则发送登录请求至第一服务器,第一服务器收到该登录请求后,先验证用户名123和密码123456是否正确;如果正确,则返回针对web app为web邮箱的HTML代码,并且,查找对应用户名123和密码123456的子账户,基于该子账户的原始令牌生成STS stoken返回客户端浏览器。
步骤120,在所述网页文档中加载第三服务器中的web app文件。
在申请实施例中,第三方开发的web app文件包括js(javascript,脚本)文件和CSS(Cascading Style Sheets,级联样式表)文件。该两个文件分别以静态文本的形式存储与第三方的第三服务器中,每个文件对应一个网址链接。
而对于第一方来说,其在开发HTML文档代码时,则可以在其代码中按照W3C(WorldWide Web Consortium,万维网联盟)标准,添加相应的脚本和CSS样式代码,其可以将webabb的js文件的链接加入到HTML代码的标签<script>中,将CSS文件的链接样式链接标签<link>中,其伪代码例如如:
<html>
<head>
<title>我的邮箱</title>
</head>
<body>
<script type="text/javascript"src="http://taobao.com/js/wb8.js"charset="utf-8"></script>//*加载web app的js文件代码*
<link rel="stylesheet"type="text/css"href="http://taobao.com/2.3.6/css/production.css">//*加载web app的CSS文件代码*
…………
</body>
</html>
在本申请实施例的一种优选实施例中,参照图3,所述步骤120,包括:
子步骤121,通过网页文档中的脚本标签<script>中的对应脚本文件的链接,加载第三服务器中的所述脚本文件;
子步骤122,通过网页文档中的样式链接标签<link>中的对应级联样式表文件的链接,加载第三服务器所述级联样式表文件。
如前述HTML文档的伪代码中,客户端浏览器获取到该HTML文档后,按照浏览器内核的逻辑,从HTML文档中解析DOM(Document Object Model,文档对象模型)树,对DOM节点中的内容进行执行,那么对于前述脚本标签<script>,则根据该标签的中的属性src中的链接,从第三服务器中获取js脚本进行加载;对于前述的样式链接标签<link>中的属性“href”中的链接,从第三服务器中获取css文件进行加载。最终,将DOM树渲染为一个页面,那么web app则以页面元素的形式展现在第一服务器的一个网页中。
步骤130,基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
如步骤120中所述,客户端浏览器将HTML文档中的web app文件加载完之后,webapp以页面元素的形式呈现在网页中。那么用户可以在该网页中进行点击、输入等各种操作,该各种操作则可能需要与云服务器进行交互,进行数据的传输或者下载等功能。
比如web app为web邮箱时,该页面中可包括收件箱、发件箱、垃圾邮箱、已删除邮件、已发送邮件、写邮件等按钮,以写邮件为例,用户在网页中点击写邮件,则在弹出写邮件的界面,用户可以在收件人一栏输入收件人的邮箱地址,在主题栏可以输入主题,还可以点击添加附件按钮,添加附件,可以点击发送按钮进行发送,则该web邮箱会向云服务器发送请求,以调用云接口将邮件存入该用户名和密码对应的子账户下。同时可调用云存储接口将邮件发送至邮件服务器。
可以理解,在客户端浏览器发送请求到云服务器时,其也需要把身份验证令牌发送至云服务器。云服务器的账户系统如RAM,则验证该身份验证令牌是否正确,如果正确,则允许其调用云接口,执行上述操作。
优选的,参照图4,所述步骤130,包括:
子步骤131,通过加载后的web app文件向云服务器发起接口调用请求;所述接口调用请求包括身份验证令牌;
在实际应用中,加载的是web app的js文件和css文件,css文件用于渲染web app的各种按钮,js文件用于实现web app的各个控件的逻辑,当用户在页面的web app区域内,点击各种按钮,则js则执行相应操作。比如前述,用户点击发送邮件,则js文件的逻辑则向云服务器发起接口调用请求,同时,可将身份STS token放入该接口调用请求中。
子步骤132,验证所述身份验证令牌是否正确;
云服务器接收到该接口调用请求后,则从中提取身份验证令牌,通过RAM本地的认证装置,对该身份验证令牌进行验证,如果验证为正确,则进入子步骤133;如果验证为不正确,则提示用户身份错误。
子步骤133,如果所述身份验证验证令牌正确,则允许所述接口调用请求调用相应云接口进行交互。
在身份验证令牌通过后,则该请求即可调用云服务器的相应接口与客户端进行交互。比如前述发邮件的请求,其可以调用开放存储服务接口,如OSS(Object StorageService,云对象存储)将邮件存储到发件箱,同时还可以将该邮件存储到云邮件服务器。
在本申请实施例中,不同的web app功能可能调用不同的云接口进行不同的交互。其中,所述云接口可包括:
开放结构化数据服务接口,如阿里云的OTS,OTS是构建在分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实时访问;
开放搜索服务接口,如OpenSearch,其支持文档索引结构定制,以及自由修改,支持云存储产品的自动对接,数据自动同步更新,支持多表数据推送,及字段文本处理和转换等,如在web邮箱中搜索邮件就可以调用该接口;
开放存储服务接口,如OSS(Object Storage Service,云对象存储),用户可以通过调用API,在任何应用、任何时间、任何地点上传和下载数据,也可以通过用户客户端的Web控制台对数据进行简单的管理,OSS适合存放任意文件类型。
当然,在实际应用中,web app的不同功能调用不同的云接口,不受限于上述的云接口。
本申请实施例,由于第一方的第一服务器的网页文档中,提供了可加载由第三方开发的以静态文本形式放置于第三服务器中的web app文件,并且由第一方的第一服务器为客户端提供了身份验证令牌,从而客户端的用户可以在其对应网页文档中网页中,对webapp的相关功能进行点击操作,从而可以与通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
因此相对于目前的技术中,第一方的web app服务提供者,其可能自身去开发webapp,然后将该web app部署在第一方的第一服务器上的方案,和第一方从第三方处,拷贝第三方开发的完整web app包,然后部署在第一方自己的第三服务器上的方案,本申请实施例具备如下优点:
1、本申请实施例第三方开发的web app由于可以静态文件的方式存储于其第三服务器中,任意第一方的第一服务器的用户,可以简单的通过第一方的网页文档,在第一服务器所在的域名中加载该web app,使第一方的客户端即可使用web app的完整功能。使该webapp可复用性高,第三方不用为多个第一方单独开发一个web app,第一方也不用为web app构建数据库等服务器,降低第一方的设备成本,并且不存在跨域问题。
2、客户端在其网页中使用web app时,客户端通过第一服务器给予的身份验证令牌与云服务器进行交互,客户端与云服务器进行交互时不需要客户端cookie+服务器session的鉴权方式,使web app的耦合度低,可以灵活移植和复用;
3、第一方的第一服务器,可以为客户端的web app提供身份验证令牌,相当于授权客户端浏览器中加载的web app可以使用第一服务器对应的云资源,方便第一方的第一服务器对隐私的管理和控制,不轻易被第三方的第三服务器获取。
另外,相对于第三方开发完整的web app放在第三方的第三服务器上,第一方通过跳转到第三方的第三服务器为用户提供服务的方案,由于第一方的第一服务器纯粹只是起到一个跳板的作用,其所有的第一方的第一服务器本质上都采用的同一个web app平台,以供用户访问。该种方式客户端来说,其还是采用的浏览器cookie+服务器session的方式进行鉴权,耦合性高,并且数据从传输存在跨域问题,而本申请实施例如前述过程,耦合性低,不存在跨域问题;其次,该种方式不能将web app平台移植到各个第一方的服务器上,使各个第一方的服务器可以有自己的web app平台,而本申请的web app可以任意移植到任意第一方,使第一方的第一服务器可以拥有自己的web app平台;再次,该种方式浏览器cookie+服务器session的方式进行鉴权,并且其所有的文件都存储于第三方的第三服务器中,无法统一对第一服务器的隐私进行管理,而本申请实施例的第一方的第一服务器,可以为客户端的web app提供身份验证令牌,相当于授权客户端浏览器中加载的web app可以使用第一服务器对应的云资源,方便第一方的第一服务器对隐私的管理和控制,不轻易被第三方的第三服务器获取。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请的一种web app访问装置实施例的结构框图,具体可以包括如下模块:
文档及令牌获取模块510,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块520,用于在所述网页文档中加载第三服务器中的web app文件;
云交互模块530,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
在本申请实施例的一种优选实施例中,所述文档及令牌获取模块510,包括:
网页请求发送模块,用于向第一服务器发送针对web app的网页请求;所述网页请求中包括客户端用户的身份信息;
接收模块,用于接收由第一服务器返回的针对web app的网页文档,以及接收第一服务器返回的针对所述客户端用户的身份信息的身份验证令牌;其中所述第一服务器根据客户端的身份信息,获取与所述身份信息对应的身份验证令牌。
在本申请实施例的一种优选实施例中,在文档及令牌获取模块510之前,还包括:
在云服务器中包括:身份分配模块,用于在云服务器中的对应第一服务器的主账户内,分配子账户并为所述子账户生成原始令牌;
在第一服务器中包括:身份验证令牌生成模块,用于所述第一服务器将客户端用户的身份信息与一子账户一一对应,并基于所述原始令牌生成身份验证令牌。
在本申请实施例的一种优选实施例中,所述云交互模块530,包括:
接口调用请求发送模块,用于通过加载后的web app文件向云服务器发起接口调用请求;所述接口调用请求包括身份验证令牌;
身份验证令牌验证模块,用于验证所述身份验证令牌是否正确;
允许调用模块,用于如果所述身份验证验证令牌正确,则允许所述接口调用请求调用相应云接口进行交互。
在本申请实施例的一种优选实施例中,所述web app文件包括:web app的脚本文件和级联样式表文件。
在本申请实施例的一种优选实施例中,所述web app文件加载模块520包括:
脚本文件加载模块,用于通过网页文档中的脚本标签<script>中的对应脚本文件的链接,加载第三服务器中的所述脚本文件;
级联样式表加载模块,用于通过网页文档中的样式链接标签<link>中的对应级联样式表文件的链接,加载第三服务器所述级联样式表文件。
在本申请实施例的一种优选实施例中,开放结构化数据服务接口,开放搜索服务接口,开放存储服务接口中的一个或者多个。
参照图5,示出了本申请的一种web app访问装置实施例的结构框图,具体可以包括如下模块:
客户端610、第一服务器620、第三服务器630、云服务器640;
所述客户端包括:
文档及令牌获取模块611,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块612,用于在所述网页文档中加载第三服务器中的web app文件;
云交互模块613,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
其中,该第一服务器620可包括第一返回模块,可用于根据服务器的网页请求返回针对web app的网页文档以及身份验证令牌。
该第三服务器630可第二返回模块,可用于根据客户端的web app的加载请求,返回web app文件至客户端。
云服务器640包括交互模块,可用于认证客户端身份和与客户端交互。
在本申请实施例的一种优选实施例中,所述文档及令牌获取模块611,包括:
网页请求发送模块,用于向第一服务器发送针对web app的网页请求;所述网页请求中包括客户端用户的身份信息;
接收模块,用于接收由第一服务器返回的针对web app的网页文档,以及接收第一服务器返回的针对所述客户端用户的身份信息的身份验证令牌;其中所述第一服务器根据客户端的身份信息,获取与所述身份信息对应的身份验证令牌。
在本申请实施例的一种优选实施例中,还包括:
在云服务器640中包括:身份分配模块,用于在云服务器中的对应第一服务器的主账户内,分配子账户并为所述子账户生成原始令牌;
在第一服务器620中包括:身份验证令牌生成模块,用于所述第一服务器将客户端用户的身份信息与一子账户一一对应,并基于所述原始令牌生成身份验证令牌。
在本申请实施例的一种优选实施例中,所述云交互模块613,包括:
接口调用请求发送模块,用于通过加载后的web app文件向云服务器发起接口调用请求;所述接口调用请求包括身份验证令牌;
身份验证令牌验证模块,用于验证所述身份验证令牌是否正确;
允许调用模块,用于如果所述身份验证验证令牌正确,则允许所述接口调用请求调用相应云接口进行交互。
在本申请实施例的一种优选实施例中,所述web app文件包括:web app的脚本文件和级联样式表文件。
在本申请实施例的一种优选实施例中,所述web app文件加载模块612包括:
脚本文件加载模块,用于通过网页文档中的脚本标签<script>中的对应脚本文件的链接,加载第三服务器中的所述脚本文件;
级联样式表加载模块,用于通过网页文档中的样式链接标签<link>中的对应级联样式表文件的链接,加载第三服务器所述级联样式表文件。
在本申请实施例的一种优选实施例中,所述云接口包括:开放结构化数据服务接口,开放搜索服务接口,开放存储服务接口中的一个或者多个。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种web app访问方法、一种web app访问装置和一种webapp访问系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种web app访问方法,其特征在于,包括:
从第一服务器中获取针对web app的网页文档以及身份验证令牌;
在所述网页文档中加载第三服务器中的web app文件,其中,所述网页文档中具有加载所述web app文件的代码,所述web app文件以静态文件的形式放置在所述第三服务器中;
基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
2.根据权利要求1所述的方法,其特征在于,所述从第一服务器中获取针对web app的网页文档以及身份验证令牌的步骤,包括:
向第一服务器发送针对web app的网页请求;所述网页请求中包括客户端用户的身份信息;
接收由第一服务器返回的针对web app的网页文档,以及接收第一服务器返回的针对所述客户端用户的身份信息的身份验证令牌;其中所述第一服务器根据客户端的身份信息,获取与所述身份信息对应的身份验证令牌。
3.根据权利要求2所述的方法,其特征在于,在从第一服务器中获取针对web app的网页文档以及身份验证令牌的步骤之前,还包括:
在云服务器中的对应第一服务器的主账户内,分配子账户并为所述子账户生成原始令牌;
所述第一服务器将客户端用户的身份信息与一子账户一一对应,并基于所述原始令牌生成身份验证令牌。
4.根据权利要求3所述的方法,其特征在于,所述基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互的步骤,包括:
通过加载后的web app文件向云服务器发起接口调用请求;所述接口调用请求包括身份验证令牌;
验证所述身份验证令牌是否正确;
如果所述身份验证验证令牌正确,则允许所述接口调用请求调用相应云接口进行交互。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述web app文件包括:
web app的脚本文件和级联样式表文件。
6.根据权利要求5所述的方法,其特征在于,所述在所述网页文档中加载第三服务器中的web app文件的步骤包括:
通过网页文档中的脚本标签<script>中的对应脚本文件的链接,加载第三服务器中的所述脚本文件;
通过网页文档中的样式链接标签<link>中的对应级联样式表文件的链接,加载第三服务器所述级联样式表文件。
7.根据权利要求1所述的方法,所述云接口包括:开放结构化数据服务接口,开放搜索服务接口,开放存储服务接口中的一个或者多个。
8.一种web app访问装置,其特征在于,包括:
文档及令牌获取模块,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块,用于在所述网页文档中加载第三服务器中的web app文件,其中,所述网页文档中具有加载所述web app文件的代码,所述web app文件以静态文件的形式放置在所述第三服务器中;
云交互模块,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
9.根据权利要求8所述的装置,其特征在于,所述文档及令牌获取模块,包括:
网页请求发送模块,用于向第一服务器发送针对web app的网页请求;所述网页请求中包括客户端用户的身份信息;
接收模块,用于接收由第一服务器返回的针对web app的网页文档,以及接收第一服务器返回的针对所述客户端用户的身份信息的身份验证令牌;其中所述第一服务器根据客户端的身份信息,获取与所述身份信息对应的身份验证令牌。
10.根据权利要求9所述的装置,其特征在于,在文档及令牌获取模块之前,还包括:
在云服务器中包括:身份分配模块,用于在云服务器中的对应第一服务器的主账户内,分配子账户并为所述子账户生成原始令牌;
在第一服务器中包括:身份验证令牌生成模块,用于所述第一服务器将客户端用户的身份信息与一子账户一一对应,并基于所述原始令牌生成身份验证令牌。
11.根据权利要求10所述的装置,其特征在于,所述云交互模块,包括:
接口调用请求发送模块,用于通过加载后的web app文件向云服务器发起接口调用请求;所述接口调用请求包括身份验证令牌;
身份验证令牌验证模块,用于验证所述身份验证令牌是否正确;
允许调用模块,用于如果所述身份验证验证令牌正确,则允许所述接口调用请求调用相应云接口进行交互。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述web app文件包括:
web app的脚本文件和级联样式表文件。
13.根据权利要求12所述的装置,其特征在于,所述web app文件加载模块包括:
脚本文件加载模块,用于通过网页文档中的脚本标签<script>中的对应脚本文件的链接,加载第三服务器中的所述脚本文件;
级联样式表加载模块,用于通过网页文档中的样式链接标签<link>中的对应级联样式表文件的链接,加载第三服务器所述级联样式表文件。
14.根据权利要求8所述的装置,所述云接口包括:开放结构化数据服务接口,开放搜索服务接口,开放存储服务接口中的一个或者多个。
15.一种web app访问系统,其特征在于,包括:
客户端、第一服务器、第三服务器、云服务器;
所述客户端包括:
文档及令牌获取模块,用于从第一服务器中获取针对web app的网页文档以及身份验证令牌;
web app文件加载模块,用于在所述网页文档中加载第三服务器中的web app文件,其中,所述网页文档中具有加载所述web app文件的代码,所述web app文件以静态文件的形式放置在所述第三服务器中;
云交互模块,用于基于所述身份验证令牌,通过加载后的web app文件调用云服务器的各种云接口与云服务器进行交互。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595357.3A CN106549907B (zh) | 2015-09-17 | 2015-09-17 | 一种web app访问方法、装置和系统 |
PCT/CN2016/098388 WO2017045563A1 (zh) | 2015-09-17 | 2016-09-08 | 一种web app访问方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595357.3A CN106549907B (zh) | 2015-09-17 | 2015-09-17 | 一种web app访问方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106549907A CN106549907A (zh) | 2017-03-29 |
CN106549907B true CN106549907B (zh) | 2019-10-11 |
Family
ID=58288137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510595357.3A Active CN106549907B (zh) | 2015-09-17 | 2015-09-17 | 一种web app访问方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106549907B (zh) |
WO (1) | WO2017045563A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678820B (zh) * | 2017-09-29 | 2021-08-24 | 北京金山安全软件有限公司 | 网页处理方法、装置、服务器、终端设备和介质 |
CN108170574B (zh) * | 2017-12-25 | 2021-04-20 | 深圳Tcl新技术有限公司 | 一种网址信息处理方法及装置 |
CN108322461B (zh) * | 2018-01-31 | 2020-10-27 | 百度在线网络技术(北京)有限公司 | 应用程序自动登录的方法、系统、装置、设备和介质 |
CN108616499B (zh) * | 2018-03-02 | 2021-01-26 | 努比亚技术有限公司 | 一种应用程序的鉴权方法、终端和计算机可读存储介质 |
CN110929183B (zh) * | 2018-08-31 | 2024-04-09 | 斑马智行网络(香港)有限公司 | 一种数据处理方法、装置和机器可读介质 |
CN111159615B (zh) * | 2019-12-31 | 2024-01-02 | 新方正控股发展有限责任公司 | 网页处理方法和装置 |
CN111314454A (zh) * | 2020-02-12 | 2020-06-19 | 深圳市信锐网科技术有限公司 | 应用的访问方法、装置、电子设备及存储介质 |
CN111309399A (zh) * | 2020-02-26 | 2020-06-19 | 北京思特奇信息技术股份有限公司 | 一种启用易问原生客户端的方法、系统、介质及设备 |
CN111581628B (zh) * | 2020-05-13 | 2023-04-28 | 广州市百果园信息技术有限公司 | 令牌获取方法、装置、设备及存储介质 |
CN112492017A (zh) * | 2020-11-24 | 2021-03-12 | 航天信息股份有限公司 | 一种基于token认证的websocket连接方法及系统 |
CN113377853A (zh) * | 2021-06-19 | 2021-09-10 | 吉萨特自动化技术(上海)有限公司 | 一种车间移动信息分析平台及方法 |
CN114257441B (zh) * | 2021-12-17 | 2023-12-15 | 北京字跳网络技术有限公司 | 一种基于云文档组件的数据处理方法及装置 |
CN115577200B (zh) * | 2022-09-28 | 2024-04-23 | 北京百度网讯科技有限公司 | 加载页面的方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132413A (zh) * | 2007-09-18 | 2008-02-27 | 中兴通讯股份有限公司 | 基于Web应用的ActiveX组件的复用方法 |
CN101599015A (zh) * | 2009-07-07 | 2009-12-09 | 阿里巴巴集团控股有限公司 | 一种组件解析的方法和系统 |
CN101924740A (zh) * | 2009-06-10 | 2010-12-22 | 纬创资通股份有限公司 | 通过网页提供服务的方法及其系统 |
CN102420873A (zh) * | 2011-12-06 | 2012-04-18 | 肇庆全商联盟信息科技有限公司 | 复合网络全新云应用平台 |
CN104348777A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种移动终端对第三方服务器的访问控制方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973483B2 (en) * | 2000-09-30 | 2005-12-06 | Microsoft Corporation | System and method for using dynamic web components to automatically customize web pages |
US20110154187A1 (en) * | 2009-12-21 | 2011-06-23 | Domainer Inc. | Methods, software and devices for providing server hosted web applications |
WO2011137683A2 (zh) * | 2011-03-09 | 2011-11-10 | 华为技术有限公司 | Web应用托管方法及装置 |
US9535755B2 (en) * | 2012-03-09 | 2017-01-03 | Google Inc. | Tiers of data storage for web applications and browser extensions |
CN104468592B (zh) * | 2014-12-12 | 2017-10-31 | 北京百度网讯科技有限公司 | 登录方法和登录系统 |
-
2015
- 2015-09-17 CN CN201510595357.3A patent/CN106549907B/zh active Active
-
2016
- 2016-09-08 WO PCT/CN2016/098388 patent/WO2017045563A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132413A (zh) * | 2007-09-18 | 2008-02-27 | 中兴通讯股份有限公司 | 基于Web应用的ActiveX组件的复用方法 |
CN101924740A (zh) * | 2009-06-10 | 2010-12-22 | 纬创资通股份有限公司 | 通过网页提供服务的方法及其系统 |
CN101599015A (zh) * | 2009-07-07 | 2009-12-09 | 阿里巴巴集团控股有限公司 | 一种组件解析的方法和系统 |
CN102420873A (zh) * | 2011-12-06 | 2012-04-18 | 肇庆全商联盟信息科技有限公司 | 复合网络全新云应用平台 |
CN104348777A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种移动终端对第三方服务器的访问控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106549907A (zh) | 2017-03-29 |
WO2017045563A1 (zh) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106549907B (zh) | 一种web app访问方法、装置和系统 | |
CN104283875B (zh) | 云盘权限管理方法 | |
CN108200099B (zh) | 移动应用、身份关系管理 | |
Chandra et al. | Python requests essentials | |
CN106682028A (zh) | 获取网页应用的方法、装置及系统 | |
CN104754030A (zh) | 用户信息获取方法及装置 | |
CN109218368A (zh) | 实现Http反向代理的方法、装置、电子设备和可读介质 | |
Ferry et al. | Security evaluation of the OAuth 2.0 framework | |
KR20210056451A (ko) | 제 3 자 애플리케이션 활동 데이터 수집을 위한 시스템 및 방법 | |
Colombo-Mendoza et al. | MobiCloUP!: a PaaS for cloud services-based mobile applications | |
US11228437B1 (en) | Methods for secure access to protected content in a content management system | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
Stowe | Undisturbed REST: A guide to designing the perfect API | |
CN102404349B (zh) | 单点登陆方法 | |
Gurturk | Building Serverless Architectures | |
Bertocci | Modern authentication with Azure Active Directory for web applications | |
Wilson | Building Node Applications with MongoDB and Backbone: Rapid Prototyping and Scalable Deployment | |
CN114095483A (zh) | 密码代填方法、装置、电子设备和存储介质 | |
CN103002063B (zh) | 一种利用dns实现url转发的方法和系统 | |
CN105760181B (zh) | 一种跨代码语言的开发框架 | |
Layton et al. | The trellis framework for automatic food safety data transfer | |
Nadon | Website Hosting and Migration with Amazon Web Services | |
Yudin et al. | Starting with Django | |
Lampela | The Use of Cloud Services in Serverless Game Development | |
Sinha et al. | Working with APIs |
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 |