CN104735066B - 一种面向网页应用的单点登录方法、装置和系统 - Google Patents
一种面向网页应用的单点登录方法、装置和系统 Download PDFInfo
- Publication number
- CN104735066B CN104735066B CN201510119348.7A CN201510119348A CN104735066B CN 104735066 B CN104735066 B CN 104735066B CN 201510119348 A CN201510119348 A CN 201510119348A CN 104735066 B CN104735066 B CN 104735066B
- Authority
- CN
- China
- Prior art keywords
- web page
- addresses
- url
- login
- addresses url
- 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
Classifications
-
- 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
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
Abstract
本发明提供了一种面向网页应用的单点登录方法、装置和系统,其中方法包括:web页面上的执行模块获取到触发登录的事件时,将当前web页面的统一资源定位符(URL)地址发送给本地应用;本地应用将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器,由所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录。本发明能够实现当用户使用浏览器访问web页面而触发登录事件时,如果与该web页面属于同一登录系统的本地应用已经处于登录状态,则可以直接利用该本地应用当前已登录用户的登录会话信息实现web页面的自动登录,简化了用户操作,节约了系统资源。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种面向网页应用的单点登录方法、装置和系统。
【背景技术】
目前大多数大型互联网服务提供商向智能终端既提供web app(网页应用)的服务,也提供native app(本地应用)的服务。其中web app是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用,native app是基于智能终端的操作系统运行的应用。例如百度公司提供的贴吧、知道是web app的产品,百度手机卫士是native app的产品,很多产品是既存在web app也存在native app,例如百度地图、百度视频等既可以是webapp的产品,也可以是native app的产品。
用户在使用web app时,如果需要登录,浏览器在发送登录请求时,会收到服务器端返回的登录页面,然后通过页面重定向、浮层加载或者新建窗口加载该登录页面,由用户在登录页面上输入账户名、密码等登录信息并提交至服务器端以完成登录。即便在智能终端上已经存在与要登录页面属于同一服务提供商(共享同一登录服务系统)的native app,也需要通过登录页面输入登录信息。显然,这种方式操作复杂,同时也浪费系统资源。
【发明内容】
有鉴于此,发明提供了一种面向web app的单点登录方法、装置和系统,以便于简化用户操作,节约系统资源。
具体技术方案如下:
本发明提供了一种面向网页应用的单点登录方法,该方法包括:
web页面上的执行模块获取到触发登录的事件时,将当前web页面的统一资源定位符URL地址发送给本地应用;
本地应用将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器,由所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录。
根据本发明一优选实施方式,该方法还包括:本地应用预先向操作系统注册第一统一资源标识符URI地址;
所述将当前web页面的URL地址发送给本地应用包括:将当前web页面的URL地址作为query参数以及将所述第一URI地址作为路径生成第二URI地址,并利用所述第二URI地址发送加载请求,以便所述操作系统将所述web页面的URL地址发送给所述本地应用。
根据本发明一优选实施方式,所述操作系统将所述web页面的URL地址发送给所述本地应用包括:
所述操作系统截获所述加载请求后,将所述第二URI地址发送给所述本地应用,所述本地应用从所述第二URI地址中解析出所述web页面的URL地址。
根据本发明一优选实施方式,在所述本地应用将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器之前还包括:
所述本地应用对所述web页面的URL地址进行合法性验证,如果验证通过,则继续执行所述将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器。
根据本发明一优选实施方式,所述本地应用对所述web页面的URL地址进行合法性验证包括:
所述本地应用利用本地配置信息中的合法性验证标准信息,对所述web页面的URL地址进行合法性验证;或者,
所述本地应用将所述web页面的URL地址信息发送给验证服务器,并从所述验证服务器获取对所述web页面的URL地址的合法性验证结果。
根据本发明一优选实施方式,在所述本地应用将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器之前,还包括:
所述本地应用判断当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息。
根据本发明一优选实施方式,所述本地应用将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器包括:
所述本地应用利用所述登录会话信息和所述web页面的URL地址生成新的URL地址,将所述新的URL地址发送给浏览器;其中所述新的URL地址和所述web页面的URL地址指向同一服务器。
根据本发明一优选实施方式,所述本地应用利用所述登录会话信息和所述web页面的URL地址生成新的URL地址包括:
所述本地应用将所述web页面的URL地址作为跳转地址,将所述登录会话信息作为所述跳转地址的参数。
根据本发明一优选实施方式,将所述新的URL地址发送给浏览器包括:
所述本地应用发起一个由操作系统定义的、所述浏览器支持的系统请求,所述系统请求用于请求所述浏览器加载所述新的URL地址。
根据本发明一优选实施方式,所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录包括:
所述浏览器发送针对所述新的URL地址的加载请求;
所述服务器接收到加载请求后,利用登录会话信息完成登录处理,并返回跳转至web页面的URL地址的响应给浏览器。
根据本发明一优选实施方式,在利用所述登录会话信息和所述web页面的URL地址生成新的URL地址之前,还包括对所述登录会话信息进行加密;其中所述加密包括:所述本地应用利用预先与所述服务器约定的加密方式和密钥进行加密,或者本地应用将所述登录会话信息提供给所述服务器,并获取所述服务器返回的加密后的登录会话信息;
所述服务器接收到加载请求后,还包括对所述登录会话信息进行解密。
根据本发明一优选实施方式,所述跳转至web页面的URL地址的响应还包含所述登录会话信息,以便所述浏览器将所述登录会话信息存入本地cookie文件中。
本发明还提供了一种面向网页应用的单点登录装置,设置于本地应用,该装置包括:
地址获取单元,用于获取web页面上的执行模块提供的当前web页面的URL地址;
登录处理单元,用于将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器,以便于所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录。
根据本发明一优选实施方式,该装置还包括:
注册单元,用于预先向操作系统注册第一URI地址,以便于所述执行模块将当前web页面的URL地址作为query参数以及将所述第一URI地址作为路径生成第二URI地址,并利用所述第二URI地址发送加载请求,以便所述操作系统将所述web页面的URL地址发送给所述本地应用。
根据本发明一优选实施方式,该装置还包括:
合法性验证单元,用于对所述web页面的URL地址进行合法性验证,如果验证通过,则允许所述登录处理单元执行所述将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器。
根据本发明一优选实施方式,所述合法性验证单元在对所述web页面的URL地址进行合法性验证时,具体执行:
利用本地配置信息中的合法性验证标准信息,对所述web页面的URL地址进行合法性验证;或者,
将所述web页面的URL地址信息发送给验证服务器,并从所述验证服务器获取对所述web页面的URL地址的合法性验证结果。
根据本发明一优选实施方式,所述登录处理单元,还用于判断所述本地应用当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息;然后执行所述将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器。
根据本发明一优选实施方式,所述登录处理单元在将当前登录用户的登录会话信息和所述web页面的URL地址发送给浏览器时,具体执行:利用所述登录会话信息和所述web页面的URL地址生成新的URL地址,将所述新的URL地址发送给浏览器;其中所述新的URL地址和所述web页面的URL地址指向同一服务器。
根据本发明一优选实施方式,所述登录处理单元在利用所述登录会话信息和所述web页面的URL地址生成新的URL地址时,具体执行:将所述web页面的URL地址作为跳转地址,将所述登录会话信息作为所述跳转地址的参数。
根据本发明一优选实施方式,所述登录处理单元在将所述新的URL地址发送给浏览器时,具体执行:发起一个由操作系统定义的、所述浏览器支持的系统请求,所述系统请求用于请求所述浏览器加载所述新的URL地址。
根据本发明一优选实施方式,所述登录处理单元在利用所述登录会话信息和所述web页面的URL地址生成新的URL地址之前,还用于对所述登录会话信息进行加密;其中所述加密包括:利用预先与所述服务器约定的加密方式和密钥进行加密,或者将所述登录会话信息提供给所述服务器,并获取所述服务器返回的加密后的登录会话信息。
本发明还提供了一种面向网页应用的单点登录系统,该系统包括:
web页面上的执行模块,用于获取到触发登录的事件时,将当前web页面的URL地址发送给本地应用;
所述本地应用包括上述装置。
根据本发明一优选实施方式,该系统还包括:服务器,用于接收到浏览器的加载请求后,所述加载请求包含登录会话信息和所述web页面的URL地址,利用所述登录会话信息完成登录处理,并返回跳转至所述web页面的URL地址的响应给所述浏览器。
由以上技术方案可以看出,本发明能够实现当用户使用浏览器访问web页面而触发登录事件时,如果与该web页面属于同一登录系统的native app已经处于登录状态,则可以直接利用该native app的当前已登录用户的登录会话信息实现web页面的自动登录,无需用户手工输入登录信息,简化了用户操作,并且不会跳转至登录页面,节约了系统资源。
【附图说明】
图1为本发明实施例提供的单点登录方法的流程图;
图2为本发明实施例提供的单点登录系统示意图;
图3为本发明实施例提供的单点登录模块的结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想在于,在web页面上的执行模块中预先配置本地应用的地址,当获取到触发登录的事件时,将当前web页面的URL地址发送给该本地应用,本地应用将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器,由浏览器利用该登录会话信息和该web页面的URL地址进行自动登录。下面结合图1对本发明提供的方法进行详细描述。
图1为本发明实施例提供的单点登录方法的流程图,如图1中所示,该方法可以具体包括以下步骤:
在101中,native app安装于智能终端后向操作系统注册第一URI(UniformResource Identifier,统一资源标识符)地址。
在本步骤中,支持单点登录的native app安装于智能终端后,可以通过appmanifest文件向操作系统注册该native app内置的单点登录模块的相关信息,该相关信息可以包括URI地址,即第一URI地址,还可以包括执行代码信息,例如执行模块的代码类名、所属命名空间等。
在102中,web页面上的执行模块获取到触发登录的事件时,利用当前web页面的URL地址作为query参数和第一URI地址作为路径生成第二URI地址,并利用所述第二URI地址发送加载请求。
当用户在web页面上进行操作产生触发登录的事件时,web页面上的执行模块(JS代码)利用当前web页面的URL地址和第一URI地址生成第二URI地址。具体地,可以将web页面的URL地址作为第二URI地址的query参数,将第一URI地址作为第二URI地址的路径。例如,假设当前web页面的地址为http://m.baidu.com,第一URI地址为intent://searchbox/sso,那么生成的第二URI地址为intent://searchbox/sso?u=http%3a%2f%2fm.baidu.com。
其中第一URI地址可以是预先配置于执行模块中的,例如预先在JS代码中写入native app的第一URI地址,通常该JS代码所在的web页面与该native app属于同一服务提供商的产品,即属于同一登录系统。例如在百度贴吧的web页面的JS代码中写入百度地图app的第一URI地址。
然后利用所述第二URI地址发送请求,即将web页面重定向至第二URI地址上。
在103中,操作系统获取到加载请求后,调用注册所述第一URI地址的native app。
由于第二URI地址的URI路径部分为第一URI地址,因此当浏览器发送第二URI地址的加载请求时,操作系统会截获该加载请求并将该第二URI地址通过系统接口提供给注册第一URI地址的native app。
在104中,native app从操作系统获取第二URI地址,从中解析出web页面的URL地址。
由于第一URI地址指向native app的单点登录模块,因此单点登录模块可以从操作系统获取第二URI地址,从该第二URI地址的query参数中解析出第一URL地址。另外,单点登录模块还可以调用系统接口获取发送加载请求的浏览器的应用身份标识信息,例如应用包名、包签名等。
在105中,native app对获取的web页面的URL地址进行合法性验证,如果验证通过,则继续执行106。
可以预先在native app的配置信息中预设合法性验证所使用的验证标准信息,例如合法域名信息、合法的格式规则等。native app中的单点登录模块可以根据该验证标准信息对web页面的URL地址进行合法性验证,例如,验证该web页面的URL地址是否属于预设的合法域名,或者验证该web页面的URL地址的格式是否符合预设的格式规则,等等。如果验证未通过,即web页面的URL地址不合法,则native app可以不进行后续处理,优选地,可以返回错误提示,例如告知用户发生错误,或者告知用户该web页面的URL地址不合法。
通常会在native app中配置与自己属于同一服务提供商的域名作为合法域名,只有这些域名能够共享native app中的登录信息。
除此之外,也可以采用与服务器端交互的方式进行合法性验证,例如native app将该web页面的URL地址信息发送给验证服务器,由验证服务器对该web页面的URL地址进行合法性验证后,将验证结果返回给native app。
本步骤是为了增加安全性所执行的步骤,例如由于移动设备本身的屏幕大小限制,一般很难将当前加载的web页面的URL地址完整的展现给用户看,部分浏览器甚至不会主动展示web页面的URL地址,这就使得诸如钓鱼网站等非法网站有机可乘,当用户误入钓鱼网站时会被引导到一个伪造的登录页面,从而造成账号泄露。而本步骤中native app中的单点登录模块会对web页面的URL地址进行合法性验证,从而避免将用户的登录信息泄露给非法网站。但本步骤并不是本发明所必须的步骤,
在106中,native app判断当前是否处于登录状态,如果是,执行108;否则执行107。
在107中,引导用户完成登录操作,以获取登录会话信息,执行108。
如果当前处于未登录状态,则native app可以提供一个登录窗口给用户,引导用户登录,并将登录会话信息存储于该native app本地cookie中。
在108中,获取当前登录用户的登录会话信息。
native app的单点登录模块可以从该native app的cookie中获取当前登录用户的登录会话信息,该登录会话信息包括诸如账户名、密码等信息。
在109中,利用登录会话信息和web页面的URL地址生成新的URL地址,该新的URL地址与web页面的URL地址指向同一服务器,将该新的URL地址发送给浏览器。
在本步骤中,native app可以对登录会话信息进行加密,利用加密得到的登录会话信息生成新的URL地址,其中采用的加密方式和密钥预先与服务器端约定。或者,nativeapp也可以将登录会话信息提供给服务器端,由服务器端进行加密后返回给native app,然后native app利用加密后的登录会话信息生成新的URL地址。
在生成新的URL地址时,可以将web页面的URL地址作为回跳地址,将登录会话信息作为回跳地址的参数,该回跳地址就是生成的新的URL地址。
native app在将新的URL地址发送给浏览器时,可以利用104中从加载请求中获取的浏览器的应用身份标识信息。具体地,可以发起一个由操作系统定义的、由该应用身份标识信息所标识的浏览器支持的系统请求,该系统请求用于请求浏览器加载指定URL资源,即加载上述新的URL地址。
需要说明的是,native app可以依据获取的浏览器的应用身份标识信息,将新的URL地址发送给上述web页面所在的浏览器,也可以不指定具体的浏览器,利用该新的URL地址发送系统请求后,由操作系统调用任意的浏览器加载该新的URL地址。
在110中,浏览器发送针对新的URL地址的加载请求。
由于该新的URL地址与web页面的URL地址指向同一服务器,在111中,服务器接收到该新的URL地址的加载请求后,从该新的URL地址中解析得到登录会话信息和web页面的URL地址。如果登录会话信息为加密后的登录会话信息,则首先对该登录会话信息进行解密。
然后在112中,服务器利用登录会话信息完成该用户的登录处理,并返回跳转至web页面的URL地址的响应给浏览器,以便于浏览器接收到上述跳转至web页面的URL地址的响应后,重定向回web页面。
在本步骤中,服务器中的登录处理逻辑利用登录会话信息完成该用户在web页面的自动登录,然后回复302跳转响应给浏览器,指示浏览器跳转回web页面。
另外,服务器还可以将登录会话信息包含在返回给浏览器的响应中,例如包含在302跳转响应的set-cookie头中,以便浏览器能够将登录会话信息存入浏览器本地cookie文件中,使得浏览器下次进行该web页面的登录时,能够利用本地cookie自动登录。
图2为本发明实施例提供的单点登录系统示意图,如图2所示,该系统包括:web页面上的执行模块和native app,该native app中包含单点登录模块,还可以包括服务器。
web页面上的执行模块获取到触发登录的事件时,将当前web页面的URL地址发送给native app。native app将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器,由浏览器利用登录会话信息和该web页面的URL地址进行自动登录。
浏览器在进行自动登录时,向服务器发送请求加载该web页面的URL地址的加载请求。服务器接收到浏览器的加载请求后,该加载请求包含登录会话信息和该web页面的URL地址,利用该登录会话信息完成登录处理,并返回跳转至该web页面的URL地址的响应给浏览器。
更进一步地,上述跳转至web页面的URL地址的响应还包含上述登录会话信息,以便浏览器将该登录会话信息存入本地cookie文件中,使得浏览器下次进行该web页面的登录时,能够利用本地cookie自动登录。
下面对上述系统中单点登录模块进行详细描述,图3为本发明实施例提供的单点登录模块的结构图,如图3中所示,该单点登录模块可以包括:地址获取单元01和登录处理单元02,还可以包括注册单元03和合法性验证单元04。
地址获取单元01负责获取web页面上的执行模块提供的当前web页面的URL地址。注册单元03可以预先向操作系统注册第一URI地址,该第一URI地址指向该单点登录模块,使得执行模块能够将当前web页面的URL地址作为query参数以及将第一URI地址作为路径生成第二URI地址,并利用第二URI地址发送加载请求,以便操作系统将web页面的URL地址发送给native app的单点登录模块。地址获取单元01通过系统接口获取当前web页面的URL地址。
登录处理单元02负责将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器,以便于浏览器利用登录会话信息和web页面的URL地址进行自动登录。
优选地,为了保证用户所访问web页面的安全性,合法性验证单元04可以先对web页面的URL地址进行合法性验证,如果验证通过,则允许登录处理单元02执行将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器的操作。
具体地,合法性验证单元04在对web页面的URL地址进行合法性验证时,可以利用本地配置信息中的合法性验证标准信息,对web页面的URL地址进行合法性验证。例如,验证该web页面的URL地址是否属于预设的合法域名,或者验证该web页面的URL地址的格式是否符合预设的格式规则,等等。
合法性验证单元04也可以将web页面的URL地址信息发送给验证服务器,并从验证服务器获取对web页面的URL地址的合法性验证结果。
如果验证未通过,即web页面的URL地址不合法,则合法性验证单元04可以不进行后续处理,优选地,可以返回错误提示,例如告知用户发生错误,或者告知用户该web页面的URL地址不合法。
登录处理单元02还可以判断native app当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息;然后再执行将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器。在引导用户登录时,可以提供一个登录窗口给用户,获取用户输入的账户名、密码等登录信息,并存储于native app本地cookie中。
具体地,登录处理单元02在将当前登录用户的登录会话信息和web页面的URL地址发送给浏览器时,可以利用登录会话信息和web页面的URL地址生成新的URL地址,例如将web页面的URL地址作为跳转地址,将登录会话信息作为跳转地址的参数。然后将新的URL地址发送给浏览器;其中新的URL地址和web页面的URL地址指向同一服务器。
登录处理单元02在将新的URL地址发送给浏览器时,可以发起一个由操作系统定义的、浏览器支持的系统请求,系统请求用于请求浏览器加载新的URL地址。操作系统截获该系统请求后,会调用浏览器以加载该新的URL地址。
另外,为了保证账户安全,登录处理单元02可以在利用登录会话信息和web页面的URL地址生成新的URL地址之前,对登录会话信息进行加密;其中加密可以包括:利用预先与服务器约定的加密方式和密钥进行加密,或者将登录会话信息提供给服务器,并获取服务器返回的加密后的登录会话信息。
这样浏览器在发送加载请求时,其中携带的是加密后的登录会话信息,服务器从加载请求中获取登录会话信息后,首先进行解密处理,然后再执行登录逻辑。
下面举一个实例,假设百度地图app预先向智能终端的操作系统注册其URI地址,后续称为第一URI地址。用户使用浏览器打开百度贴吧的某web页面,当用户在该web页面上触发登录的事件时,该web页面上的JS模块利用预先配置的第一URI地址,将当前web页面的URL地址作为query参数,利用第一URI地址作为路径生成第二URI地址,利用该第二URI地址发送加载请求,该加载请求中还可以包含浏览器的身份标识信息。操作系统获取到该加载请求后,调用百度地图app。百度地图app从操作系统获取第二URI地址,从中解析出web页面的URL地址。百度地图app验证该web页面的URL地址的域名为baidu.com,属于合法域名,又判断当前处于登录状态,则获取当前登录用户的登录会话信息。将web页面的URL地址作为回跳地址,将登录会话信息携带在该回调地址中生成一个操作系统定义的、浏览器支持的加载请求。操作系统接收到该加载请求后,调用浏览器以加载上述回跳地址。服务器从该回跳地址中解析得到登录会话信息,进行自动登录处理后,向浏览器返回跳转至web页面的URL地址的响应,在该响应的web-cookie头中携带登录会话信息。浏览器接收到该响应后,跳转回该web页面,并将登录会话信息存储至本地cookie文件中。这样就实现了,用户浏览百度贴吧的web页面时,能够利用百度地图app的登录会话信息自动登录,无需跳转至登录页面后手工输入登录信息,一方面简化用户操作,另一方面节约系统资源。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (20)
1.一种面向网页应用的单点登录方法,其特征在于,该方法包括:
web页面上的执行模块获取到触发登录的事件时,利用当前web页面的统一资源定位符URL和第一URI地址生成第二URI地址,其中所述第一URI为本地应用预先向操作系统注册的地址;并利用所述第二URI地址发送加载请求,以便所述操作系统将所述web页面的URL地址发送给所述本地应用;
本地应用利用登录会话信息和所述web页面的URL地址生成新的URL地址,将所述新的ULR地址发送给浏览器,其中所述新的URL地址和所述web页面的URL地址指向同一服务器;
由所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录。
2.根据权利要求1所述的方法,其特征在于,所述利用当前web页面的统一资源定位符URL和第一URI地址生成第二URI地址包括:将当前web页面的URL地址作为query参数以及将所述第一URI地址作为路径生成第二URI地址。
3.根据权利要求2所述的方法,其特征在于,所述操作系统将所述web页面的URL地址发送给所述本地应用包括:
所述操作系统截获所述加载请求后,将所述第二URI地址发送给所述本地应用,所述本地应用从所述第二URI地址中解析出所述web页面的URL地址。
4.根据权利要求1所述的方法,其特征在于,在所述本地应用利用登录会话信息和所述web页面的URL地址生成新的URL地址之前还包括:
所述本地应用对所述web页面的URL地址进行合法性验证,如果验证通过,则继续执行所述本地应用利用登录会话信息和所述web页面的URL地址生成新的URL地址。
5.根据权利要求4所述的方法,其特征在于,所述本地应用对所述web页面的URL地址进行合法性验证包括:
所述本地应用利用本地配置信息中的合法性验证标准信息,对所述web页面的URL地址进行合法性验证;或者,
所述本地应用将所述web页面的URL地址信息发送给验证服务器,并从所述验证服务器获取对所述web页面的URL地址的合法性验证结果。
6.根据权利要求1所述的方法,其特征在于,在所述本地应用利用登录会话信息和所述web页面的URL地址生成新的URL地址之前,还包括:
所述本地应用判断当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息。
7.根据权利要求1所述的方法,其特征在于,所述本地应用利用登录会话信息和所述web页面的URL地址生成新的URL地址包括:
所述本地应用将所述web页面的URL地址作为跳转地址,将所述登录会话信息作为所述跳转地址的参数。
8.根据权利要求1所述的方法,其特征在于,将所述新的URL地址发送给浏览器包括:
所述本地应用发起一个由操作系统定义的、所述浏览器支持的系统请求,所述系统请求用于请求所述浏览器加载所述新的URL地址。
9.根据权利要求1所述的方法,其特征在于,所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录包括:
所述浏览器发送针对所述新的URL地址的加载请求;
所述服务器接收到加载请求后,利用登录会话信息完成登录处理,并返回跳转至web页面的URL地址的响应给浏览器。
10.根据权利要求9所述的方法,其特征在于,在利用登录会话信息和所述web页面的URL地址生成新的URL地址之前,还包括对所述登录会话信息进行加密;其中所述加密包括:所述本地应用利用预先与所述服务器约定的加密方式和密钥进行加密,或者本地应用将所述登录会话信息提供给所述服务器,并获取所述服务器返回的加密后的登录会话信息;
所述服务器接收到加载请求后,还包括对所述登录会话信息进行解密。
11.根据权利要求9所述的方法,其特征在于,所述跳转至web页面的URL地址的响应还包含所述登录会话信息,以便所述浏览器将所述登录会话信息存入本地cookie文件中。
12.一种面向网页应用的单点登录装置,设置于本地应用,其特征在于,该装置包括:
注册单元,用于预先向操作系统注册第一URI地址,以便于web页面上的执行模块利用当前web页面的URL地址和所述第一URI地址生成第二URI地址,并利用所述第二URI地址发送加载请求,以便所述操作系统将所述web页面的URL地址发送给所述本地应用;
地址获取单元,用于获取所述web页面的URL地址;
登录处理单元,用于利用登录会话信息和所述web页面的URL地址生成新的URL地址,将所述新的ULR地址发送给浏览器,其中所述新的URL地址和所述web页面的URL地址指向同一服务器,以便于所述浏览器利用所述登录会话信息和所述web页面的URL地址进行自动登录。
13.根据权利要求12所述的装置,其特征在于,该装置还包括:
合法性验证单元,用于对所述web页面的URL地址进行合法性验证,如果验证通过,则允许所述登录处理单元执行所述利用登录会话信息和所述web页面的URL地址生成新的URL地址。
14.根据权利要求13所述的装置,其特征在于,所述合法性验证单元在对所述web页面的URL地址进行合法性验证时,具体执行:
利用本地配置信息中的合法性验证标准信息,对所述web页面的URL地址进行合法性验证;或者,
将所述web页面的URL地址信息发送给验证服务器,并从所述验证服务器获取对所述web页面的URL地址的合法性验证结果。
15.根据权利要求12所述的装置,其特征在于,所述登录处理单元,还用于判断所述本地应用当前是否处于登录状态,如果是,则获取当前登录用户的登录会话信息,否则,引导用户登录以获取登录会话信息;然后执行所述利用登录会话信息和所述web页面的URL地址生成新的URL地址。
16.根据权利要求12所述的装置,其特征在于,所述登录处理单元在利用登录会话信息和所述web页面的URL地址生成新的URL地址时,具体执行:将所述web页面的URL地址作为跳转地址,将所述登录会话信息作为所述跳转地址的参数。
17.根据权利要求12所述的装置,其特征在于,所述登录处理单元在将所述新的URL地址发送给浏览器时,具体执行:发起一个由操作系统定义的、所述浏览器支持的系统请求,所述系统请求用于请求所述浏览器加载所述新的URL地址。
18.根据权利要求12所述的装置,其特征在于,所述登录处理单元在利用登录会话信息和所述web页面的URL地址生成新的URL地址之前,还用于对所述登录会话信息进行加密;其中所述加密包括:利用预先与所述服务器约定的加密方式和密钥进行加密,或者将所述登录会话信息提供给所述服务器,并获取所述服务器返回的加密后的登录会话信息。
19.一种面向网页应用的单点登录系统,其特征在于,该系统包括:
web页面上的执行模块,用于获取到触发登录的事件时,利用当前web页面的统一资源定位符URL和第一URI地址生成第二URI地址,其中所述第一URI为本地应用预先向操作系统注册的地址;并利用所述第二URI地址发送加载请求,以便所述操作系统将所述web页面的URL地址发送给所述本地应用;
所述本地应用包括如权利要求12至18任一项所述的装置。
20.根据权利要求19所述的单点登录系统,其特征在于,该系统还包括:服务器,用于接收到浏览器的加载请求后,所述加载请求包含登录会话信息和所述web页面的URL地址,利用所述登录会话信息完成登录处理,并返回跳转至所述web页面的URL地址的响应给所述浏览器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119348.7A CN104735066B (zh) | 2015-03-18 | 2015-03-18 | 一种面向网页应用的单点登录方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510119348.7A CN104735066B (zh) | 2015-03-18 | 2015-03-18 | 一种面向网页应用的单点登录方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104735066A CN104735066A (zh) | 2015-06-24 |
CN104735066B true CN104735066B (zh) | 2018-10-16 |
Family
ID=53458501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510119348.7A Active CN104735066B (zh) | 2015-03-18 | 2015-03-18 | 一种面向网页应用的单点登录方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104735066B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580406B (zh) * | 2014-12-23 | 2019-11-26 | 北京百度网讯科技有限公司 | 一种同步登录状态的方法和装置 |
CN106874315B (zh) * | 2015-12-14 | 2021-01-15 | 伊姆西Ip控股有限责任公司 | 用于提供对内容资源的访问的方法和装置 |
US9992187B2 (en) * | 2015-12-21 | 2018-06-05 | Cisco Technology, Inc. | Single sign-on authentication via browser for client application |
CN105721598A (zh) * | 2016-03-03 | 2016-06-29 | 北京东方车云信息技术有限公司 | 一种网页与原生应用之间的登录交互方法 |
JP6999580B2 (ja) * | 2016-06-21 | 2022-01-18 | オラクル・インターナショナル・コーポレイション | インターネットクラウドでホストされる自然言語による対話型メッセージングシステムサーバ連携 |
CN111526152B (zh) | 2016-08-12 | 2022-02-11 | 创新先进技术有限公司 | 一种认证方法、设备以及认证客户端 |
JP6883650B2 (ja) | 2016-09-16 | 2021-06-09 | オラクル・インターナショナル・コーポレイション | 仮想データベースを有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム |
CN111885082B (zh) * | 2017-09-06 | 2023-08-01 | 创新先进技术有限公司 | 一种web应用包处理方法、装置及设备 |
CN108259456B (zh) * | 2017-09-13 | 2020-11-17 | 平安科技(深圳)有限公司 | 实现用户免登录的方法、装置、设备、计算机存储介质 |
CN109510799B (zh) * | 2017-09-15 | 2020-08-07 | 华为技术有限公司 | 页面展示方法、浏览器客户端、设备及存储介质 |
CN107634904A (zh) * | 2017-11-07 | 2018-01-26 | 北京恒华伟业科技股份有限公司 | 一种即时通讯交互方法及系统 |
CN108173875B (zh) * | 2018-01-30 | 2021-07-23 | 云深互联(北京)科技有限公司 | 页面登录方法及装置、电子设备、存储介质 |
CN110875903B (zh) * | 2018-08-31 | 2022-10-14 | 阿里巴巴集团控股有限公司 | 一种安全防御方法及设备 |
CN110968744B (zh) | 2018-09-30 | 2023-09-05 | 中国移动通信有限公司研究院 | 一种资源查询方法及装置、设备、存储介质 |
CN109981781B (zh) * | 2019-03-27 | 2021-08-06 | 深圳市网心科技有限公司 | 数据处理方法和系统、电子设备和存储介质 |
CN109981664A (zh) * | 2019-03-29 | 2019-07-05 | 北京致远互联软件股份有限公司 | 网页端的网站登录方法、装置及实现装置 |
CN110516172B (zh) * | 2019-07-31 | 2022-06-03 | 深圳市铭数信息有限公司 | 资源调用方法、装置、计算机设备和存储介质 |
CN111611514A (zh) * | 2020-04-11 | 2020-09-01 | 上海淇玥信息技术有限公司 | 一种基于用户登录信息的页面展示方法、装置和电子设备 |
CN111949955B (zh) * | 2020-07-30 | 2022-06-17 | 山东英信计算机技术有限公司 | web系统单点登录方法、装置、设备及可读存储介质 |
CN114924816B (zh) * | 2022-04-08 | 2023-06-09 | 青岛海尔科技有限公司 | 一种页面跳转方法、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025740A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 单点登录方法、胖客户端、服务器及系统 |
CN104394133A (zh) * | 2014-11-14 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 登录方法和登录系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102638454B (zh) * | 2012-03-14 | 2014-05-21 | 武汉理工大学 | 一种面向http身份鉴别协议的插件式单点登录集成方法 |
CN102624737B (zh) * | 2012-03-27 | 2015-05-06 | 武汉理工大学 | 单点登录系统中针对Form身份鉴别的单点登录集成方法 |
US9825933B2 (en) * | 2013-09-12 | 2017-11-21 | Data Accelerator Ltd. | Single sign on for applications |
-
2015
- 2015-03-18 CN CN201510119348.7A patent/CN104735066B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025740A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 单点登录方法、胖客户端、服务器及系统 |
CN104394133A (zh) * | 2014-11-14 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 登录方法和登录系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104735066A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和系统 | |
CN106131079B (zh) | 一种认证方法、系统及代理服务器 | |
CN106998551B (zh) | 一种应用接入鉴权的方法、系统、装置及终端 | |
CN103023918B (zh) | 为多个网络服务统一提供登录的方法、系统和装置 | |
CN102546570B (zh) | 用于单点登录的处理方法和系统 | |
CN104580364B (zh) | 一种资源分享的方法和装置 | |
CN104378376B (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
Sun et al. | The devil is in the (implementation) details: an empirical analysis of OAuth SSO systems | |
US9009222B2 (en) | Verifying the transfer of a data file | |
CN104092811B (zh) | 移动终端信息下载的方法、系统、终端设备及服务器 | |
CN105025041B (zh) | 文件上传的方法、装置和系统 | |
CN104519050B (zh) | 登录方法和登录系统 | |
CN103428179B (zh) | 一种登录多域名网站的方法、系统以及装置 | |
CN103220259A (zh) | Oauth API的使用、调用方法、设备及系统 | |
CN104660409B (zh) | 集群环境下系统登录的方法和认证服务器集群 | |
US8909705B2 (en) | Method and system for use in providing network services interchange | |
CN105897668A (zh) | 一种第三方账号授权方法、设备、服务器及其系统 | |
CN101771676B (zh) | 一种跨域授权的设置、鉴权方法、相关装置及系统 | |
CN104333548B (zh) | 在https网页中访问本地服务的方法及系统 | |
CN103634399B (zh) | 一种实现跨域数据传输的方法和装置 | |
US9059987B1 (en) | Methods and systems of using single sign-on for identification for a web server not integrated with an enterprise network | |
CN107528865A (zh) | 文件的下载方法和系统 | |
CN101426009A (zh) | 身份管理平台、业务服务器、统一登录系统及方法 | |
CN109815683A (zh) | 权限验证方法及相关装置 | |
US20210203668A1 (en) | Systems and methods for malicious client detection through property analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |