CN113965357B - 跨域网站登录状态同步方法、电子设备及存储介质 - Google Patents
跨域网站登录状态同步方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113965357B CN113965357B CN202111144010.9A CN202111144010A CN113965357B CN 113965357 B CN113965357 B CN 113965357B CN 202111144010 A CN202111144010 A CN 202111144010A CN 113965357 B CN113965357 B CN 113965357B
- Authority
- CN
- China
- Prior art keywords
- domain
- login
- unified
- browser
- identifier
- 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 71
- 230000001960 triggered effect Effects 0.000 claims abstract description 13
- 238000012795 verification Methods 0.000 claims description 34
- 230000009191 jumping Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 2
- 235000014510 cooky Nutrition 0.000 description 5
- 230000009545 invasion Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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
-
- 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/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种跨域网站登录状态同步方法、电子设备及存储介质。方法包括:第一域在感知目标用户通过浏览器访问且未登录第一域时,触发浏览器从第一域跳转至统一登录***获取第一域的第一登录标识;基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程;待目标用户在第一域登录成功后,第一域触发浏览器访问第二域上指定的空白js文件,以静默触发第二域从统一登录***获取第二域的第二登录标识,使第二域基于第二登录标识,执行目标用户在第二域的登录流程。本发明实施例能够有效减少网站开销、通用性高、对已有网站的侵入小,不需要跨域网站之间了解其他网站的业务属性。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种跨域网站登录状态同步方法、电子设备及存储介质。
背景技术
在网络强国战略的指引下,随着“互联网+”理念的不断深入,网站主办者构建多样性的网站服务生态成为热门的解决方案之一,在多个网站之间用户使用统一的单点登录认证***仅需一次即可完成登录,但不同网站之间需要用户主动触发才能感知到登录状态。
目前对接相同单点登录***的跨域网站之间登陆状态同步实现方式主要有jsonp跨域请求、iframe嵌入、cookie互信持有等方式。但它们存在以下的缺点:
1、jsonp只能使用GET发送请求,使用jsonp进行登录状态同步容易在浏览器上暴露用户的敏感信息造成安全隐患;同时跨域网站之间必须提供特殊的jsonp接口大大增大了成本。
2、iframe是一种过时的技术,把iframe嵌入在其他网站上不仅造成网站代码复杂、组成臃肿,还阻塞网站的加载效率。
3、cookie互相持有会增加服务端的开发成本,每个服务端必须识别到不同跨域网站的标识,同时服务端持有跨域网站的cookie值,容易造成服务端更新不及时不同步而造成的鉴权失败而导致状态同步失效。
发明内容
本发明实施方式的目的在于提供一种跨域网站登录状态同步方法、电子设备及存储介质,能够有效减少网站开销、通用性高、对已有网站的侵入小,不需要跨域网站之间了解其他网站的业务属性。
为解决上述技术问题,本发明的实施方式提供了一种跨域网站登录状态同步方法,所述方法应用于第一域,包括:
在感知目标用户通过浏览器访问且未登录所述第一域时,触发所述浏览器从所述第一域跳转至所述统一登录***获取所述第一域的第一登录标识;
基于所述浏览器从所述统一登录***跳转回所述第一域时携带的所述第一登录标识,执行所述目标用户在第一域的登录流程;
待所述目标用户在所述第一域登录成功后,所述第一域触发所述浏览器访问第二域上指定的空白js文件,以静默触发所述第二域从所述统一登录***获取所述第二域的第二登录标识,使所述第二域基于所述第二登录标识,执行所述目标用户在所述第二域的登录流程。
本发明的实施方式提供了另一种跨域网站登录状态同步方法,所述方法应用于第二域,包括:
在感知浏览器访问所述第二域上指定的空白js文件时,触发所述浏览器从所述第二域跳转至所述统一登录***获取所述第二域的第二登录标识;其中,所述浏览器访问所述第二域上指定的空白js文件的触发操作,是在目标用户通过所述浏览器在第一域登录成功后,由所述第一域向所述浏览器发送访问第二域上所述指定的空白js文件的地址而发出;
基于所述浏览器从所述统一登录***跳转回所述第二域时携带的所述第二登录标识,执行所述目标用户在所述第二域的登录流程。
本发明的实施方式提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
如所述的一种跨域网站登录状态同步方法,其中,所述电子设备为所述第一域;或者,如所述的另一种跨域网站登录状态同步方法,其中,所述电子设备为所述第二域。
本发明的实施方式提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的跨域网站登录状态同步方法。
本发明实施方式相对于现有技术而言,第一域在感知目标用户通过浏览器访问且未登录第一域时,触发浏览器从第一域跳转至统一登录***获取第一域的第一登录标识;基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程;待目标用户在第一域登录成功后,第一域触发浏览器访问第二域上指定的空白js文件;之后,第二域在感知目标用户通过浏览器访问第二域上指定的空白js文件时,触发浏览器从第二域跳转至统一登录***获取第二域的第二登录标识;基于浏览器从统一登录***跳转回所述第二域时携带的第二登录标识,执行目标用户在第二域的登录流程。本方案在目标用户成功登录第一域后,由第一域主动触发第二域上指定的空白js文件,从而触发第二域从统一登录***获取登录标识实现目标用户在第二域上的登录操作,不需要用户主动触发第二域就可以使第二域感知到需要执行目标用户的登录操作,完成登录;通过空白的JS文件可以减少网站开销;任何浏览器都支持js文件加载,通用性高;本方案对已有网站侵入小,仅需要各域的服务端提供一份空白的js文件,不需要跨域网站之间了解其他网站的业务属性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式的跨域网站登录状态同步方法的具体流程图;
图2是根据本发明第二实施方式的跨域网站登录状态同步方法的具体流程图;
图3是根据本发明第三实施方式的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明第一实施方式涉及一种跨域网站登录状态同步方法,该方法应用于第一域。本实施例中涉及的“跨域网站”包括多个不同域的网站,利用统一登录***可以对这这些域的网站实现相同单点登录。而在每个域进行单点登录时,首个实现单点登录的域网站,需要用户输入登录账号和密码进行登录,之后实现单点登录的域网站,可以基于首个实现单点登录的域网站的触发操作来实现单点登录,无需用户再次输入登录账号和密码。本实施例中,首个实现单点登录的域网站简称为“第一域网站”或者“第一域”,之后实现单点登录的域网站均简称为“第二域网站”或者“第二域”。在执行本实施例方法的过程中,“第一域”、“第二域”的实际主体可以是相应域网站的服务端。
如图1所示,本实施例方法包括如下步骤:
步骤101:在感知目标用户通过浏览器访问且未登录第一域时,触发浏览器从第一域跳转至统一登录***获取第一域的第一登录标识。
其中,第一域为用户每次启用浏览器时,首个实现单点登录的域网站,举例来说,第一域网址可以是https://www.a.com;统一登录***网址可以是https://www.cas.com/cas/login。在目标用户需要在浏览器上登录不同域网站时,需要使用对应域的登录标识实现登录。这些登录标识由统一登录***生成并分配给对应域,每个登录标识与域之间一一对应,登录标识可以是统一登陆***随机生成的一串字符串。
具体而言,当目标用户进入浏览器访问第一域,第一域感知到用户没有登录时,第一域触发浏览器跳转至统一登录***,以指示浏览器从统一登录***获取目标用户在第一域登录所需的登录标识,即第一登录标识。
在一个例子中,浏览器从第一域跳转至统一登录***获取第一域的第一登录标识可通过如下步骤实现。
步骤1:在跳转至统一登录***后,浏览器接收目标用户在统一登录***的登录页面输入的登录账号和密码,并将登录账号和密码发送至统一登录***。
具体而言,浏览器从第一域网址https://www.a.com跳转到统一登陆***网址https://www.cas.com/cas/login后,当前页面显示为统一登录***的登录页面。用户在统一登录***的登录页面输入账号和密码,并点击登录按钮。浏览器将用户在登录页面输入的账号和密码发送给统一登录***,以从统一登录***获取第一登录标识。
步骤2:浏览器接收统一登录***发送的从统一登录***跳转至第一域的跳转指令,该跳转指令中携带第一登录标识,第一登录标识为统一登录***验证登录账号和密码有效后生成。
具体而言,统一登录***接收到浏览器发送的账号和密码后,对账号和密码的有效性进行验证。如果验证通过,统一登录***向浏览器发送跳转指令,该跳转指令为触发浏览器从统一登录***跳转至第一域,同时该跳转指令中携带统一登录***颁发给第一域的第一登录标识。浏览器根据接收的跳转指令将当前页面跳转至第一域,并将第一登录标识发送给第一域。第一登录标识可以携带在跳转的目标地址中。例如,统一登陆***发送给浏览器的跳转指令即为跳转至的第一域的验证地址:https://www.a.com?ticket=ticket1,该跳转指令中携带有第一域的第一登录标识ticket1。第一域根据浏览器的跳转访问,即可从被访问的第一域的验证地址中获取到统一登录***颁发给第一域的第一登录标识。
步骤102:基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程;其中,从统一登录***跳转回第一域的触发操作可由统一登录***发出。
具体而言,当统一登录***生成第一域的第一登录标识,并触发浏览器从统一登录***跳转回第一域,将携带在跳转指令中的第一登录标识提供至第一域后,第一域即可根据第一登录标识实现目标用户在第一域的登录操作,实现登录。
在一个例子中,步骤102可通过如下步骤实现。
步骤1:向统一登录***发送第一登录标识,以使统一登录***对第一登录标识进行验证。
具体而言,第一域从浏览器发送的跳转访问地址中接收到统一登录***颁发给第一域的第一登录标识后,会再次将第一登录标识发送给统一登录***进行有效性验证,以保证第一登录标识在有效的情况下被使用。
步骤2:在接收到统一登录***反馈的验证第一登录标识有效后,执行目标用户在第一域的登录操作。
具体而言,统一登录***接收到第一域发送的第一登录标识后,对第一登录标识进行有效性验证,即判断该第一登录标识是否为自己颁发给第一域的登录标识。如果判断结果为是,即第一登录标识验证有效,则将有效的验证结果反馈给第一域。第一域在接收到统一登录***反馈的验证第一登录标识有效后,便可执行目标用户在第一域的登录操作,以保证目标用户在第一域上合法登录。
步骤103:待目标用户在第一域登录成功后,第一域触发浏览器访问第二域上指定的空白js文件,以静默触发第二域从统一登录***获取第二域的第二登录标识,使第二域基于第二登录标识,执行目标用户在第二域的登录流程。
具体而言,目标用户在第一域登录成功后,第一域向浏览器发送第二域服务端的指定空白js文件地址https://www.b.com/login.js,以触发浏览器访问第二域,实现从第一域到第二域的静默跳转。之后,第二域感知到浏览器访问的是第二域服务端的空白js文件时,第二域会向浏览器继续发送跳转指令,以指示浏览器从第二域跳转到统一登录***,以从统一登录***获取目标用户在第二域进行登录时使用的登录标识,即第二登录标识。第二域基于第二登录标识可以执行目标用户在第二域的登录操作。需要注意的是第一域触发浏览器访问第二域上指定的空白js文件时,不会改变浏览器地址栏中的网址,从而实现一种静默的第二域登录操作。
在一个例子中,步骤101,在浏览器从第一域跳转至统一登录***后,还包括:浏览器接收统一登录***颁发的TGC标识,TGC标识为统一登录***维护同一目标用户所使用的单点登录标识。该TGC标识为统一登录***颁发给浏览器,浏览器在获取第一登录标识的同时,从统一登录***获取该TGC标识并缓存在浏览器的cookie中。
在此基础上,步骤103中第二域从统一登录***获取第二域的第二登录标识的过程可以通过如下步骤实现。
步骤1:第二域触发浏览器从第二域跳转至统一登录***,并向统一登录***发送TGC标识及第二域的标识。
具体而言,第二域静默触发浏览器从第二域跳转到统一登录***,浏览器将之前统一登录***颁发给浏览器的TGC标识,以及第二域的标识发送至统一登录系进行验证,以从统一登录***获取第二域的登录标识,即第二登录标识。
步骤2:第二域获取浏览器从统一登录***跳转回第二域时携带的第二登录标识;其中,第二登录标识为统一登录***验证TGC标识有效后,基于第二域的标识生成,从统一登录***跳转回第二域的触发操作由统一登录***发出。
具体地,统一登录***接收到浏览器发送的TGC标识和第二域的标识后,对TGC标识和第二域的标识的有效性进行验证。如果验证通过,统一登录***向浏览器发送跳转指令,该跳转指令为触发浏览器从统一登录***跳转至第二域,同时该跳转指令中携带统一登录***颁发给第二域的第二登录标识。浏览器根据接收的跳转指令静默跳转至第二域,并将第二登录标识发送给第二域。第二登录标识可以携带在跳转的目标地址中。例如,统一登陆***发送给浏览器的跳转指令即为跳转至的第二域的验证地址:https://www.b.com?ticket=ticket2,该跳转指令中携带有第二域的第二登录标识ticket2。第二域根据浏览器的跳转访问,即可从被访问的第二域的验证地址中获取到统一登录***颁发给第二域的第二登录标识。
在一个例子中,第二域基于第二登录标识,执行目标用户在第二域的登录流程,可通过如下步骤实现。
步骤1:第二域向统一登录***发送第二登录标识,以使统一登录***对第二登录标识进行验证。
具体而言,第二域从浏览器发送的跳转访问地址中接收到统一登录***颁发给第二域的第二登录标识后,会再次将第二登录标识发送给统一登录***进行有效性验证,以保证第二登录标识在有效的情况下被使用。
步骤2:在接收到统一登录***反馈的验证第二登录标识有效后,第二域执行目标用户在第二域的登录操作。
具体而言,统一登录***接收到第二域发送的第二登录标识后,对第二登录标识进行有效性验证,即判断该第二登录标识是否为自己颁发给第二域的登录标识。如果判断结果为是,即第二登录标识验证有效,则将有效的验证结果反馈给第二域。第二域在接收到统一登录***反馈的验证第二登录标识有效后,便可执行目标用户在第二域的登录操作,以保证目标用户在第二域上合法登录。
基于本实施例中的方法步骤,当目标用户在第二域登录成功后,上述方法还包括:
当第二域感知目标用户通过浏览器访问第二域时,触发浏览器展示目标用户成功登录第二域的登录成功页面。
具体地,当用户在浏览器地址栏中输入第二域的网站地址点击访问后,由于通过以上方法步骤已完成目标用户在第二域的登录,因此当第二域感知到该目标用户访问第二域时,直接触发浏览器展示目标用户成功登录第二域的登录成功页面。
本发明实施方式相对于现有技术而言,第一域在感知目标用户通过浏览器访问且未登录第一域时,触发浏览器从第一域跳转至统一登录***获取第一域的第一登录标识;基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程;待目标用户在第一域登录成功后,第一域触发浏览器访问第二域上指定的空白js文件;之后,第二域在感知目标用户通过浏览器访问第二域上指定的空白js文件时,触发浏览器从第二域跳转至统一登录***获取第二域的第二登录标识;基于浏览器从统一登录***跳转回第二域时携带的第二登录标识,执行目标用户在第二域的登录流程。本方案在目标用户成功登录第一域后,由第一域主动触发第二域上指定的空白js文件,从而触发第二域从统一登录***获取登录标识实现目标用户在第二域上的登录操作,不需要用户主动触发第二域就可以使第二域感知到需要执行目标用户的登录操作,完成登录;通过空白的JS文件可以减少网站开销;任何浏览器都支持js文件加载,通用性高;本方案对已有网站侵入小,仅需要各域的服务端提供一份空白的js文件,不需要跨域网站之间了解其他网站的业务属性。
本发明第二实施方式涉及一种跨域网站登录状态同步方法,该方法应用于第二域。本实施例中涉及的“跨域网站”包括多个不同域的网站,利用统一登录***可以对这些域的网站实现相同单点登录。而在每个域进行单点登录时,首个实现单点登录的域网站,需要用户输入登录账号和密码进行登录,之后实现单点登录的域网站,可以基于首个实现单点登录的域网站的触发操作来实现单点登录,无需用户再次输入登录账号和密码。本实施例中,首个实现单点登录的域网站简称为“第一域网站”或者“第一域”,之后实现单点登录的域网站均简称为“第二域网站”或者“第二域”。在执行本实施例方法的过程中,“第一域”、“第二域”的实际主体可以是相应域网站的服务端。
如图2所示,本实施例方法包括如下步骤。
步骤201:在感知浏览器访问第二域上指定的空白js文件时,触发浏览器从第二域跳转至统一登录***获取第二域的第二登录标识;其中,浏览器访问第二域上指定的空白js文件的触发操作,是在目标用户通过浏览器在第一域登录成功后,由第一域向浏览器发送访问第二域上指定的空白js文件的地址而发出。
具体而言,目标用户在第一域登录成功后,第一域向浏览器发送第二域服务端的指定空白js文件地址https://www.b.com/login.js,以触发浏览器访问第二域,实现从第一域到第二域的静默跳转。之后,第二域感知到浏览器访问的是第二域服务端的空白js文件时,第二域会向浏览器继续发送跳转指令,以指示浏览器从第二域跳转到统一登录***,以从统一登录***获取目标用户在第二域进行登录时使用的登录标识,即第二登录标识。
在一个例子中,目标用户登录第一域的过程的过程可通过如下步骤实现。
步骤1:在第一域感知目标用户通过浏览器访问且未登录所述第一域时,触发浏览器从第一域跳转至统一登录***获取第一域的第一登录标识。
其中,第一域为用户每次启用浏览器时,首个实现单点登录的域网站,举例来说,第一域网址可以是https://www.a.com;统一登录***网址可以是https://www.cas.com/cas/login。在目标用户需要在浏览器上登录不同域网站时,需要使用对应域的登录标识实现登录。这些登录标识由统一登录***生成并分配给对应域,每个登录标识与域之间一一对应,登录标识可以是统一登陆***随机生成的一窜字符串。
具体而言,当目标用户进入浏览器访问第一域,第一域感知到用户没有登录时,第一域触发浏览器跳转至统一登录***,以指示浏览器从统一登录***获取目标用户在第一域登录所需的登录标识,即第一登录标识。
在一个例子中,浏览器从第一域跳转至统一登录***获取第一域的第一登录标识可通过如下步骤实现。
步骤a:在跳转至所述统一登录***后,浏览器接收目标用户在统一登录***的登录页面输入的登录账号和密码,并将登录账号和密码发送至统一登录***。
具体而言,浏览器从第一域网址https://www.a.com跳转到统一登陆***网址https://www.cas.com/cas/login后,当前页面显示为统一登录***的登录页面。用户在统一登录***的登录页面输入账号和密码,并点击登录按钮。浏览器将用户在登录页面输入的账号和密码发送给统一登录***,以获取第一登录标识。
步骤b:浏览器接收统一登录***发送的从统一登录***跳转至第一域的跳转指令,该跳转指令中携带第一登录标识,第一登录标识为统一登录***验证登录账号和密码有效后生成。
具体而言,统一登录***接收到浏览器发送的账号和密码后,对账号和密码的有效性进行验证。如果验证通过,统一登录***向浏览器发送跳转指令,该跳转指令为触发浏览器从统一登录***跳转至第一域,同时该跳转指令中携带统一登录***颁发给第一域的第一登录标识。浏览器根据接收的跳转指令将当前页面跳转至第一域,并将第一登录标识发送给第一域。第一登录标识可以携带在跳转的目标地址中。例如,统一登陆***发送给浏览器的跳转指令即为跳转至的第一域的验证地址:https://www.a.com?ticket=ticket1,该跳转指令中携带有第一域的第一登录标识ticket1。第一域根据浏览器的跳转访问,即可从被访问的第一域的验证地址中获取到统一登录***颁发给第一域的第一登录标识。
步骤2:第一域基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程。
具体而言,当统一登录***生成第一域的第一登录标识,并触发浏览器从统一登录***跳转回第一域,将携带在跳转指令中的第一登录标识提供至第一域后,第一域即可根据第一登录标识实现目标用户在第一域的登录操作,实现登录。
在一个例子中,步骤2中第一域基于浏览器从统一登录***跳转回第一域时携带的第一登录标识,执行目标用户在第一域的登录流程可通过如下步骤实现。
步骤a:第一域向统一登录***发送第一登录标识,以使统一登录***对第一登录标识进行验证。
具体而言,第一域从浏览器发送的跳转访问地址中接收到统一登录***颁发给第一域的第一登录标识后,会再次将第一登录标识发送给统一登录***进行有效性验证,以保证第一登录标识在有效的情况下被使用。
步骤b:第一域在接收到统一登录***反馈的验证第一登录标识有效后,执行目标用户在第一域的登录操作。
具体而言,统一登录***接收到第一域发送的第一登录标识后,对第一登录标识进行有效性验证,即判断该第一登录标识是否为自己颁发给第一域的登录标识。如果判断结果为是,即第一登录标识验证有效,则将有效的验证结果反馈给第一域。第一域在接收到统一登录***反馈的验证第一登录标识有效后,便可执行目标用户在第一域的登录操作,以保证目标用户在第一域上合法登录。
在一个例子中,在步骤1浏览器从第二域跳转至统一登录***后,还包括:浏览器接收统一登录***颁发的TGC标识,TGC标识为统一登录***维护同一目标用户所使用的单点登录标识。该TGC标识为统一登录***颁发给浏览器,浏览器在获取第二登录标识的同时,从统一登录***获取该TGC标识并缓存在浏览器的cookie中。
在此基础上,步骤201中浏览器从第二域跳转至统一登录***获取第二域的第二登录标识的过程可以通过如下步骤实现。
步骤1:浏览器在跳转至统一登录***后,向统一登录***发送TGC标识及第二域的标识。
具体而言,第二域静默触发浏览器从第二域跳转到统一登录***,浏览器将之前统一登录***颁发给浏览器的TGC标识,以及第二域的标识发送至统一登录***进行验证,以从统一登录***获取第二域的登录标识,即第二登录标识。
步骤2:浏览器接收统一登录***发送的从统一登录***跳转至第二域的跳转指令,该跳转指令中携带第二登录标识;第二登录标识为统一登录***验证TGC标识有效后,基于第二域的标识生成。
具体地,统一登录***接收到浏览器发送的TGC标识和第二域的标识后,对TGC标识和第二域的标识的有效性进行验证。如果验证通过,统一登录***向浏览器发送跳转指令,该跳转指令为触发浏览器从统一登录***跳转至第二域,同时该跳转指令中携带统一登录***颁发给第二域的第二登录标识。浏览器根据接收的跳转指令静默跳转至第二域,并将第二登录标识发送给第二域。第二登录标识可以携带在跳转的目标地址中。例如,统一登陆***发送给浏览器的跳转指令即为跳转至的第二域的验证地址:https://www.b.com?ticket=ticket2,该跳转指令中携带有第二域的第二登录标识ticket2。第二域根据浏览器的跳转访问,即可从被访问的第二域的验证地址中获取到统一登录***颁发给第二域的第二登录标识。
步骤202:基于浏览器从统一登录***跳转回第二域时携带的第二登录标识,执行目标用户在第二域的登录流程;其中,从统一登录***跳转回第二域的触发操作可由统一登录***发出。
具体而言,当统一登录***生成第二域的第二登录标识,并触发浏览器从统一登录***跳转回第二域,将携带在跳转指令中的第二登录标识提供至第二域后,第二域即可根据第二登录标识实现目标用户在第二域的登录操作,实现登录。需要注意的是第一域触发浏览器访问第二域上指定的空白js文件时,不会改变浏览器地址栏中的网址,从而实现一种静默的第二域登录操作。
在一个例子中,步骤202可通过如下步骤实现。
步骤1:向统一登录***发送第二登录标识,以使统一登录***对第二登录标识进行验证。
具体而言,第二域从浏览器发送的跳转访问地址中接收到统一登录***颁发给第二域的第二登录标识后,会再次将第二登录标识发送给统一登录***进行有效性验证,以保证第二登录标识在有效的情况下被使用。
步骤2:在接收统一登录***反馈的验证第二登录标识有效后,执行目标用户在第二域的登录操作。
具体而言,统一登录***接收到第二域发送的第二登录标识后,对第二登录标识进行有效性验证,即判断该第二登录标识是否为自己颁发给第二域的登录标识。如果判断结果为是,即第二登录标识验证有效,则将有效的验证结果反馈给第二域。第二域在接收到统一登录***反馈的验证第二登录标识有效后,便可执行目标用户在第二域的登录操作,以保证目标用户在第二域上合法登录。
基于本实施例中的方法步骤,当目标用户在第二域登录成功后,所述方法还包括:
当感知目标用户通过浏览器访问第二域时,触发浏览器展示目标用户成功登录第二域的登录成功页面。
具体地,当用户在浏览器地址栏中输入第二域的网站地址点击访问后,由于通过以上方法步骤已完成目标用户在第二域的登录,因此当第二域感知到该目标用户已在第二域登录后,直接触发浏览器展示目标用户成功登录第二域的登录成功页面。
本发明实施方式相对于现有技术而言,第二域在感知目标用户通过浏览器访问第二域上指定的空白js文件时,触发浏览器从第二域跳转至统一登录***获取第二域的第二登录标识;其中,浏览器访问第二域上指定的空白js文件的触发操作,是在目标用户在第一域登录成功后,由第一域向浏览器发送访问第二域上指定的空白js文件的地址而发出;第二域基于浏览器从统一登录***跳转回第二域时携带的第二登录标识,执行目标用户在第二域的登录流程。本方案在目标用户成功登录第一域后,由第一域主动触发第二域上指定的空白js文件,从而触发第二域从统一登录***获取登录标识实现目标用户在第二域上的登录操作,不需要用户主动触发第二域就可以使第二域感知到需要执行目标用户的登录操作,完成登录;通过空白的JS文件可以减少网站开销;任何浏览器都支持js文件加载,通用性高;本方案对已有网站侵入小,仅需要各域的服务端提供一份空白的js文件,不需要跨域网站之间了解其他网站的业务属性。
本发明第三实施方式涉及一种电子设备,如图3所示,包括至少一个处理器302;以及,与至少一个处理器302通信连接的存储器301;其中,存储器301存储有可被至少一个处理器302执行的指令,指令被至少一个处理器302执行,以使至少一个处理器302能够执行上述图1方法实施例;其中,电子设备为第一域;或者,执行上述图2方法实施例;其中,电子设备为第二域。
其中,存储器301和处理器302采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器302和存储器301的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器302处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器302。
处理器302负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器301可以被用于存储处理器302在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (17)
1.一种跨域网站登录状态同步方法,其特征在于,所述方法应用于第一域,包括:
在感知目标用户通过浏览器访问且未登录所述第一域时,触发所述浏览器从所述第一域跳转至统一登录***获取所述第一域的第一登录标识以及所述统一登录***颁发的TGC标识;
基于所述浏览器从所述统一登录***跳转回所述第一域时携带的所述第一登录标识,执行所述目标用户在第一域的登录流程;
待所述目标用户在所述第一域登录成功后,所述第一域触发所述浏览器访问第二域上指定的空白js文件,以静默触发所述第二域从所述统一登录***获取所述第二域的第二登录标识,使所述第二域基于所述第二登录标识,执行所述目标用户在所述第二域的登录流程;所述第二登录标识基于所述第一域提供给所述第二域的所述TGC标识生成。
2.根据权利要求1所述的方法,其特征在于,所述浏览器从所述第一域跳转至所述统一登录***获取所述第一域的第一登录标识,包括:
在跳转至所述统一登录***后,所述浏览器接收所述目标用户在所述统一登录***的登录页面输入的登录账号和密码,并将所述登录账号和密码发送至所述统一登录***;
所述浏览器接收所述统一登录***发送的从所述统一登录***跳转至所述第一域的跳转指令,该跳转指令中携带所述第一登录标识,所述第一登录标识为所述统一登录***验证所述登录账号和密码有效后生成。
3.根据权利要求2所述的方法,其特征在于,所述在跳转至所述统一登录***后,所述方法还包括:
所述浏览器接收所述统一登录***颁发的TGC标识,所述TGC标识为所述统一登录***维护同一目标用户所使用的单点登录标识;
所述第二域从所述统一登录***获取所述第二域的第二登录标识,包括:
所述第二域触发所述浏览器从所述第二域跳转至所述统一登录***,并向所述统一登录***发送所述TGC标识及所述第二域的标识;
所述第二域获取所述浏览器从所述统一登录***跳转回所述第二域时携带的所述第二登录标识;其中,所述第二登录标识为所述统一登录***验证所述TGC标识有效后,基于所述第二域的标识生成,从所述统一登录***跳转回所述第二域的触发操作由所述统一登录***发出。
4.根据权利要求1所述的方法,其特征在于,所述基于所述浏览器从所述统一登录***跳转回所述第一域时携带的所述第一登录标识,执行所述目标用户在第一域的登录流程,包括:
向所述统一登录***发送所述第一登录标识,以使所述统一登录***对所述第一登录标识进行验证;
在接收到所述统一登录***反馈的验证所述第一登录标识有效后,执行所述目标用户在所述第一域的登录操作。
5.根据权利要求3所述的方法,其特征在于,所述第二域基于所述第二登录标识,执行所述目标用户在所述第二域的登录流程,包括:
所述第二域向所述统一登录***发送所述第二登录标识,以使所述统一登录***对所述第二登录标识进行验证;
在接收到所述统一登录***反馈的验证所述第二登录标识有效后,所述第二域执行所述目标用户在所述第二域的登录操作。
6.根据权利要求1-5任一项所述的方法,其特征在于,当所述目标用户在所述第二域登录成功后,所述方法还包括:
当所述第二域感知所述目标用户通过所述浏览器访问所述第二域时,触发所述浏览器展示所述目标用户成功登录所述第二域的登录成功页面。
7.根据权利要求1所述的方法,其特征在于,从所述统一登录***跳转回所述第一域的触发操作由所述统一登录***发出。
8.一种跨域网站登录状态同步方法,其特征在于,所述方法应用于第二域,包括:
在感知浏览器访问所述第二域上指定的空白js文件时,触发所述浏览器从所述第二域跳转至统一登录***获取所述第二域的第二登录标识;其中,所述浏览器访问所述第二域上指定的空白js文件的触发操作,是在目标用户通过所述浏览器在第一域登录成功后,由所述第一域向所述浏览器发送访问第二域上所述指定的空白js文件的地址而发出;所述第二登录标识基于所述第一域提供给所述第二域的TGC标识生成,所述TGC标识为所述浏览器从所述统一登录***获取所述第一域的第一登录标识时,由所述统一登录***颁发给所述浏览器的;
基于所述浏览器从所述统一登录***跳转回所述第二域时携带的所述第二登录标识,执行所述目标用户在所述第二域的登录流程。
9.根据权利要求8所述的方法,其特征在于,所述目标用户登录所述第一域的过程,包括:
在所述第一域感知目标用户通过浏览器访问且未登录所述第一域时,触发所述浏览器从所述第一域跳转至所述统一登录***获取所述第一域的第一登录标识;
所述第一域基于所述浏览器从所述统一登录***跳转回所述第一域时携带的所述第一登录标识,执行所述目标用户在第一域的登录流程。
10.根据权利要求9所述的方法,其特征在于,所述浏览器从所述第一域跳转至所述统一登录***获取所述第一域的第一登录标识,包括:
在跳转至所述统一登录***后,所述浏览器接收所述目标用户在所述统一登录***的登录页面输入的登录账号和密码,并将所述登录账号和密码发送至所述统一登录***;
所述浏览器接收所述统一登录***发送的从所述统一登录***跳转至所述第一域的跳转指令,该跳转指令中携带所述第一登录标识,所述第一登录标识为所述统一登录***验证所述登录账号和密码有效后生成。
11.根据权利要求10所述的方法,其特征在于,所述在跳转至所述统一登录***后,所述方法还包括:
所述浏览器接收所述统一登录***颁发的TGC标识,所述TGC标识为所述统一登录***维护同一目标用户所使用的单点登录标识;
所述浏览器从所述第二域跳转至所述统一登录***获取所述第二域的第二登录标识,包括:
所述浏览器在跳转至所述统一登录***后,向所述统一登录***发送所述TGC标识及所述第二域的标识;
所述浏览器接收所述统一登录***发送的从所述统一登录***跳转至所述第二域的跳转指令,该跳转指令中携带所述第二登录标识;所述第二登录标识为所述统一登录***验证所述TGC标识有效后,基于所述第二域的标识生成。
12.根据权利要求8所述的方法,其特征在于,所述基于所述浏览器从所述统一登录***跳转回所述第二域时携带的所述第二登录标识,执行所述目标用户在所述第二域的登录流程,包括:
向所述统一登录***发送所述第二登录标识,以使所述统一登录***对所述第二登录标识进行验证;
在接收到所述统一登录***反馈的验证所述第二登录标识有效后,执行所述目标用户在所述第二域的登录操作。
13.根据权利要求9所述的方法,其特征在于,所述第一域基于所述浏览器从所述统一登录***跳转回所述第一域时携带的所述第一登录标识,执行所述目标用户在第一域的登录流程,包括:
所述第一域向所述统一登录***发送所述第一登录标识,以使所述统一登录***对所述第一登录标识进行验证;
所述第一域在接收到所述统一登录***反馈的验证所述第一登录标识有效后,执行所述目标用户在所述第一域的登录操作。
14.根据权利要求8-13任一项所述的方法,其特征在于,当所述目标用户在所述第二域登录成功后,所述方法还包括:
当感知所述目标用户通过所述浏览器访问所述第二域时,触发所述浏览器展示所述目标用户成功登录所述第二域的登录成功页面。
15.根据权利要求8所述的方法,其特征在于,从所述统一登录***跳转回所述第二域的触发操作由所述统一登录***发出。
16.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
如权利要求1至7中任一项所述的跨域网站登录状态同步方法,其中,所述电子设备为所述第一域;或者,如权利要求8至15中任一项所述的跨域网站登录状态同步方法,其中,所述电子设备为所述第二域。
17.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的跨域网站登录状态同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144010.9A CN113965357B (zh) | 2021-09-28 | 2021-09-28 | 跨域网站登录状态同步方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111144010.9A CN113965357B (zh) | 2021-09-28 | 2021-09-28 | 跨域网站登录状态同步方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965357A CN113965357A (zh) | 2022-01-21 |
CN113965357B true CN113965357B (zh) | 2023-10-17 |
Family
ID=79462952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111144010.9A Active CN113965357B (zh) | 2021-09-28 | 2021-09-28 | 跨域网站登录状态同步方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965357B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325183A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市络道科技有限公司 | 基于单点登录方式实现的web端登录方法及*** |
CN104426862A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 实现跨域请求登录的方法、***及浏览器 |
CN106790465A (zh) * | 2016-12-09 | 2017-05-31 | 深圳市小满科技有限公司 | 跨域访问方法和装置 |
WO2018053122A1 (en) * | 2016-09-14 | 2018-03-22 | Oracle International Corporation | Single sign-on and single logout functionality for a multi-tenant identity and data security management cloud service |
CN111949955A (zh) * | 2020-07-30 | 2020-11-17 | 山东英信计算机技术有限公司 | web***单点登录方法、装置、设备及可读存储介质 |
CN112995219A (zh) * | 2021-05-06 | 2021-06-18 | 四川省明厚天信息技术股份有限公司 | 一种单点登录方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107196892B (zh) * | 2016-03-15 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 一种网站登录方法和装置 |
CN108667809B (zh) * | 2018-04-13 | 2020-05-19 | 三维通信股份有限公司 | 一种多***das web界面账户信息同步管理的实现方法 |
-
2021
- 2021-09-28 CN CN202111144010.9A patent/CN113965357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325183A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市络道科技有限公司 | 基于单点登录方式实现的web端登录方法及*** |
CN104426862A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 实现跨域请求登录的方法、***及浏览器 |
WO2018053122A1 (en) * | 2016-09-14 | 2018-03-22 | Oracle International Corporation | Single sign-on and single logout functionality for a multi-tenant identity and data security management cloud service |
CN106790465A (zh) * | 2016-12-09 | 2017-05-31 | 深圳市小满科技有限公司 | 跨域访问方法和装置 |
CN111949955A (zh) * | 2020-07-30 | 2020-11-17 | 山东英信计算机技术有限公司 | web***单点登录方法、装置、设备及可读存储介质 |
CN112995219A (zh) * | 2021-05-06 | 2021-06-18 | 四川省明厚天信息技术股份有限公司 | 一种单点登录方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种简单跨域单点登录***的实现;刘润达, 诸云强, 宋佳 等;计算机应用;第27卷(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113965357A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665146B2 (en) | Migrating authenticated content towards content consumer | |
CN104735066B (zh) | 一种面向网页应用的单点登录方法、装置和*** | |
US8819787B2 (en) | Securing asynchronous client server transactions | |
JP6533871B2 (ja) | ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法 | |
CN110278187B (zh) | 多终端单点登录方法、***、同步服务器及介质 | |
US20130014243A1 (en) | Cross Domain Single Sign On | |
CN104468592B (zh) | 登录方法和登录*** | |
CN108810896B (zh) | 无线接入点的连接认证方法和装置 | |
CN111556153B (zh) | 由第一服务器执行的信息处理方法、装置、设备以及介质 | |
CN104335523A (zh) | 一种权限控制方法、客户端及服务器 | |
US12041045B2 (en) | Passing authentication information via parameters | |
CN104519050A (zh) | 登录方法和登录*** | |
CN109218389B (zh) | 处理业务请求的方法、装置和存储介质以及电子设备 | |
CN111404921B (zh) | 网页应用访问方法、装置、设备、***及存储介质 | |
CN109450890B (zh) | 单点登录的方法和装置 | |
US20130055070A1 (en) | Method of generating web pages using server-side javascript | |
CN108900562B (zh) | 登录状态的共享方法、装置、电子设备及介质 | |
CN105141605A (zh) | 会话方法、网站服务器及浏览器 | |
CN112905144B (zh) | 终端显示方法、装置、电子设备及存储介质 | |
CN109067746B (zh) | 客户端与服务器之间的通信方法及装置 | |
CN103970882A (zh) | 渲染页面的方法及装置 | |
CN111770072A (zh) | 一种单点登录接入功能页面的方法和装置 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
US20050267981A1 (en) | System and method for server side detection of client side popup blocking | |
CN111092864B (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 |