CN111786996A - 一种跨域同步登录态的方法、装置及跨域同步登录系统 - Google Patents
一种跨域同步登录态的方法、装置及跨域同步登录系统 Download PDFInfo
- Publication number
- CN111786996A CN111786996A CN202010617577.2A CN202010617577A CN111786996A CN 111786996 A CN111786996 A CN 111786996A CN 202010617577 A CN202010617577 A CN 202010617577A CN 111786996 A CN111786996 A CN 111786996A
- Authority
- CN
- China
- Prior art keywords
- end server
- cookie
- login state
- request
- domain name
- 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.)
- Granted
Links
Images
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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
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
本申请涉及一种跨域同步登录态的方法、装置及跨域同步登录系统。该技术方案实现的基于cookie技术的a、b域登录态的跨域同步,规避了不同浏览器对第三方cookie默认策略不一致导致的兼容性问题;而且b域下的接口不再使用302重定向,可以使用Ajax直接调用;另外,b域下的页面请求也无需向登录主站请求认证及复制登录态到当前域的逻辑,跨域同步登录态将不再依赖于“登录认证中心”及“登录态查询与分发中心”,即便“登录认证中心”及“登录态查询与分发中心”无法完成通信,也能够完成同步登录态及共享。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种跨域同步登录态的方法、装置及跨域同步登录系统。
背景技术
随着互联网的蓬勃发展,出现了很多大型网站。随着业务的发展,大部分网站会衍生出不同产品和品牌的网站。这些衍生网站和原网站具有不同的一级域名,但往往共享用户群体且相互耦合,多个网站相互引流,或协作完成业务流程。
大部分网站都具备实现单点登录的能力,通过cookie实现系统分布式集群下的登录态保持。针对跨域网站的登录态同步,现有技术主要实现方案及其缺陷如下:
方案一、绕过同源策略:
同源策略是指cookie只能用于一个域名,不能够发给其它的域名,所以如果在浏览器中对一个域名设置了一个cookie,该cookie对于其它的域名将无效。用户通过网站a登录成功后,将cookie存储在a域,通过jsonp或其他可以绕过同源策略的技术手段调用网站b接口,实现b域的cookie存储,同步当前用户登录态至网站b,实现用户在不同一级域名下网站的单点登录。
方案一的缺陷:
虽然可以在用户登录的第一时间就将登录态同步到业务域,使得用户在访问业务域的时候无需再依赖登录认证中心,但该方式由于使用了第三方cookie,不同的浏览器对第三方cookie的默认配置不尽相同,存在浏览器的兼容问题。
方案二、访问业务网站时向登录主站发起认证请求:
这是一种伪登录态同步方案,因为在用户登录成功那一刻并没有实现登录态同步。用户在网站a登录成功后,将cookie存储在a域,访问网站b的页面,跳转至a域页面检测登录态,并携带检测结果跳转回网站b页面实现登录态的复制。
方案二的缺陷:
访问业务站点时向登录主站发起认证请求的方式中,使用了大量的302重定向(暂时重定向,temporary redirect),无法适用Ajax(Asynchronous Javascript And XML,异步JavaScript和XML)调用。对于域名b暴露的所有页面请求,都需要实现向登录主站请求认证及复制登录态到当前域的逻辑。另外,引入了新的站点“登录认证中心”及“登录态查询与分发中心”,一旦该站点无法完成通信,则跨域登录态同步与共享则无法实现。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种跨域同步登录态的方法、装置及跨域同步登录系统。
第一方面,本申请实施例提供了一种跨域同步登录态的方法,所述方法包括:
将登录请求中的用户信息发送到第一后端服务器;
接收所述第一后端服务器在对所述用户信息进行验证通过后返回的第一cookie信息,并对所述第一cookie进行存储;
根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
发送同步登录态请求到所述第二域名对应的第二后端服务器,由第二后端服务器在对所述同步登录态请求验证成功后生成第二cookie并存储到所述第二域名对应的第二前端浏览器;
接收所述第二前端浏览器完成所述第二cookie存储后发送的登录成功消息。
可选的,所述第一cookie和所述第二cookie被设置为HttpOnly属性。
可选的,所述发送同步登录态请求到所述第二域名对应的第二后端服务器,包括:
获取所述第二域名对应的令牌;
生成包括所述令牌的所述同步登录态请求;
将所述同步登录态请求发送至所述第二后端服务器;
所述方法还包括:
接收所述第二后端服务器发送的验证请求,所述验证请求中包括所述令牌;
当根据所述令牌对所述验证请求验证通过后,发送确认消息到所述第二后端服务器,由所述第二后端服务器在接收到的确认消息后对所述同步登录态请求进行验证。
可选的,所述发送同步登录态请求到所述第二域名对应的第二后端服务器,还包括:
获取第一消息体,所述第一消息体为所述第一后端服务器根据所述第二域名对应的密钥对中的第一密钥对所述用户信息进行加密得到
将包括所述第一消息体的所述同步登录请求发送到所述第二后端服务器,由所述第二后端服务器在对所述同步登录态请求验证成功后根据所述密钥对中的第二密钥对所述第一消息体解密,解密后得到的所述用户信息。
第二方面,本申请实施例提供了一种跨域同步登录态的装置,所述装置包括:
第一发送模块,用于将登录请求中的用户信息发送到第一后端服务器;
存储模块,用于接收所述第一后端服务器在对所述用户信息进行验证通过后返回的第一cookie信息,并对所述第一cookie进行存储;
查询模块,用于根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
第二发送模块,用于发送同步登录态请求到所述第二域名对应的第二后端服务器,由第二后端服务器在对所述同步登录态请求验证成功后生成第二cookie并存储到所述第二域名对应的第二前端浏览器;
接收模块,用于接收所述第二前端浏览器完成所述第二cookie存储后发送的登录成功消息。
第三方面,本申请实施例提供了一种跨域同步登录系统,包括:第一域名对应的第一前端浏览器和第一后端服务器,第二域名对应的第二前端浏览器和第二后端服务器;
所述第一前端浏览器,用于将登录请求中的用户信息发送到所述第一后端服务器;
所述第一后端服务器,用于对所述用户信息进行验证,当验证通过后,生成第一cookie信息并发送到所述第一前端浏览器;
所述第一前端浏览器,用于对所述第一后端服务器返回的第一cookie信息进行存储;根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
所述第一后端服务器,用于根据所述第一cookie信息查询与所述第一域名具有同步登录态权限的第二域名,将所述第二域名发送到所述第一前端浏览器;
所述第一前端浏览器,用于发送同步登录态请求到所述第二域名对应的第二后端服务器;
所述第二后端服务器,用于对所述同步登录态请求进行验证,当验证成功后,生成第二cookie并发送到第二前端浏览器;
所述第二前端浏览器,用于对所述第二cookie进行存储,在存储完成后发送所述登录成功消息到所述第一前端浏览器。
可选的,所述第一前端浏览器,用于获取所述第二域名对应的第一令牌;生成包括所述第一令牌的所述同步登录态请求;将所述同步登录态请求发送至所述第二后端服务器;
所述第二后端服务器,用于根据第一令牌生成验证请求,并发送到所述第一后端服务器;
所述第一后端服务器,用于当对所述验证请求验证通过后,发送确认消息到所述第二后端服务器;
所述第二后端服务器,用于在接收到的确认消息后对所述同步登录态请求进行验证。
可选的,所述第一后端服务器,用于获取所述第二域名对应的密钥对;采用所述密钥对中的第一密钥对所述用户信息进行加密,得到第一消息体;所述第一前端浏览器,用于将包括所述第一消息体的所述同步登录请求发送到所述第二后端服务器;
所述第二后端服务器,用于根据所述密钥对中的第二密钥对所述第一消息体解密,对解密得到的所述用户信息进行验证。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
在第一前端浏览器完成第一域名下的cookie存储后,跳转到第二前端浏览器完成在第二域名下的cookie存储,再跳转回第一前端浏览器,从而完成用户无感知的HttpOnly属性的cookie存储。通过这样的方式实现的基于cookie技术的两个不同域名登录态的跨域同步,规避了不同浏览器对第三方cookie默认策略不一致导致的兼容性问题;而且第二域名下的接口不再使用302重定向,可以使用Ajax直接调用;另外,第二域名下的页面请求也无需向登录主站请求认证及复制登录态到当前域的逻辑,跨域同步登录态将不再依赖于“登录认证中心”及“登录态查询与分发中心”,即便“登录认证中心”及“登录态查询与分发中心”无法完成通信,也能够完成同步登录态及共享。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种跨域同步登录态的方法的流程图;
图2为本申请另一实施例提供的一种跨域同步登录态的方法的流程图;
图3为本申请另一实施例提供的一种跨域同步登录态的方法的流程图;
图4为本申请实施例提供的一种跨域同步登录态的装置的框图;
图5为本申请实施例提供的一种跨域同步登录系统的框图;
图6为本申请实施例提供的跨域同步登录态的交互流程图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
网络访问依赖于Http协议完成,而Http是无状态的,即同一个会话的连续两个请求互相不了解,这两个请求由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息,Http是不会为了下一次连接而维护这次连接所传输的信息的。所以为了在每次会话之间传递信息,就需要用到cookie和session,为了让服务器端获得一个token来检查合法性,很多时候都是在cookie中存储一个session ID,服务器通过该session ID来识别该用户,那么安全隐患也就引申而出了,只要获得这个cookie,就可以取得别人的身份,特别是取得管理员等高级权限帐号时,危害就大了。跨站脚本攻击(XSS)就是在别人的应用程序中恶意执行一段JS脚本代码以窃取用户的cookie。
为保证cookie的安全,IE浏览器中将cookie设置为HttpOnly属性,那么通过JS脚本代码将无法读取到cookie信息,这样能有效的防止XSS攻击窃取cookie内容,增加了cookie的安全性。但是,由于保存登录态的cookie被设置为HttpOnly属性,在某些版本或某些OS(操作系统)的IE浏览器下,无法通过现有技术(使用跨域调用的方式)实现带有HttpOnly属性的第三方cookie的存储。
本申请实施例为了解决IE浏览器无法跨域存储具有HttpOnly属性的cookie的问题,从a域前端浏览器跳转到b域前端浏览器完成cookie存储,再跳转回a域前端浏览器,完成用户无感知的HttpOnly属性的cookie存储。
本申请实施例涉及不同域名站点的登录态同步,提供一种跨域同步登录系统,包括:第一域名a对应的第一前端浏览器Ba和第一后端服务器Sa,第二域名b对应的第二前端浏览器Bb和第二后端服务器Sb。
在登录过程中,第一前端浏览器Ba在完成对a域的cookie存储后,调用b域的第二前端浏览器Bb完成对b域的cookie存储,从而实现跨域同步登录态。
下面首先对本发明实施例所提供的一种跨域同步登录态的方法进行介绍。
图1为本申请实施例提供的一种跨域同步登录态的方法的流程图。如图1所示,该方法应用于第一域名对应的第一前端浏览器,包括以下步骤:
步骤S11,将登录请求中的用户信息发送到第一后端服务器。
该登录请求可以为用户在第一前端浏览器Ba上提交的,用户输入账号密码后,点击“登录”选项,发起对第一域名的登录操作。第一前端浏览器Ba将账号密码发送到第一后端服务器Sa进行验证,当第一后端服务器Sa验证通过后,保存会话session,并生成a域对应的第一cookie信息返回给第一前端浏览器Ba。
其中,第一cookie信息的属性被设置为HttpOnly。第一cookie信息中包括用户信息,如用户的安全标识符(Security Identifiers,SID)。
步骤S12,接收第一后端服务器在对用户信息进行验证通过后返回的第一cookie信息,并对第一cookie进行存储。
第一前端浏览器Ba将第一cookie信息写入到document.cookie中,从而完成a域cookie的存储。
步骤S13,根据第一cookie信息向第一后端服务器查询具有同步登录态权限的第二域名。
第一后端服务器Sa预先存储有具有同步登录态权限的域名,如第二域名b。可选的,具有同步登录态权限的域名存在多个,如除了域名b,还有域名c、d等等,可以将登录态同步到跨域的两个或两个以上的域名。
第一后端服务器Sa根据第一cookie信息中的用户信息如用户的SID查询该用户预先设定的具有同步登录态权限的域名,将查询到的第二域名b的地址发送给第一前端浏览器Ba,还将访问第二域名b的令牌(token)发送给第一前端浏览器Ba,以使得第一前端浏览器Ba可以根据该token访问第二域名b的网站。
步骤S14,发送同步登录态请求到第二域名对应的第二后端服务器,由第二后端服务器在对同步登录态请求验证成功后生成第二cookie并存储到第二域名对应的第二前端浏览器。
第一前端浏览器Ba发送同步登录态请求到第二域名b对应的第二后端服务器Sb。同步登录态请求中可携带有用户信息及token,第二后端服务器Sb基于该token对同步登录态请求进行验证,若验证通过,则根据同步登录态请求生成b域的第二cookie信息。其中,该第二cookie信息的属性也被设置为HttpOnly。第二cookie信息包括该用户信息,如用户SID。
在第二前端浏览器Bb完成对第二cookie信息的存储,即第二前端浏览器Bb将第二cookie信息写入其document.cookie中。
步骤S15,接收第二前端浏览器完成第二cookie存储后发送的登录成功消息。
第二前端浏览器Bb将登录成功消息发送到第一前端浏览器Ba,第一前端浏览器Ba可以将该登录成功消息展示给用户。
本实施例中,在第一前端浏览器完成a域的cookie存储后,跳转到第二前端浏览器完成b域的cookie存储,再跳转回第一前端浏览器,从而完成用户无感知的HttpOnly属性的cookie存储。通过这样的方式实现的基于cookie技术的a、b域登录态的跨域同步,规避了不同浏览器对第三方cookie默认策略不一致导致的兼容性问题;而且b域下的接口不再使用302重定向,可以使用Ajax直接调用;另外,b域下的页面请求也无需向登录主站请求认证及复制登录态到当前域的逻辑,跨域同步登录态将不再依赖于“登录认证中心”及“登录态查询与分发中心”,即便“登录认证中心”及“登录态查询与分发中心”无法完成通信,也能够完成同步登录态及共享。
图2为本申请另一实施例提供的一种跨域同步登录态的方法的流程图。如图2所示,上述步骤S14中发送同步登录态请求到第二域名对应的第二后端服务器,包括以下步骤:
步骤S21,获取第二域名对应的令牌。
步骤S22,生成包括令牌的同步登录态请求。
其中,同步登录态请求中还包括用户信息,如用户SID。
步骤S23,将同步登录态请求发送至第二后端服务器。
第二后端服务器Sb基于该token对同步登录态请求进行验证,若验证通过,则根据同步登录态请求生成b域的第二cookie信息。
如图2所示,该方法还包括:
步骤S24,接收第二后端服务器发送的验证请求,验证请求中包括令牌。
第二后端服务器Sb在接收到同步登录态请求后,还会向第一后端服务器Sa发起验证,将令牌发送到第一后端服务器Sa,以获取用户信息。
步骤S25,当根据令牌对验证请求验证通过后,发送确认消息到第二后端服务器,由第二后端服务器在接收到的确认消息后对同步登录态请求进行验证。
当第一后端服务器Sa对令牌验证通过后,将包括用户信息的确认消息发送到第二后端服务器Sb,第二后端服务器Sb根据接收到的用户信息后,验证同步登录态请求的合法性,当验证通过后对同步登录态请求进行解析。
本实施例中,a、b域之间通过三次握手,可以实现对同步登录态请求的验证,确保a、b域之间消息传递的安全性及可靠性。a域的第一后端服务器Sa上可具备登录会话管理中心的功能,即可对b域第二后端服务器Sb发送的令牌进行鉴权。登录会话管理中心也可位于其他后端服务器上。
可选的,第二后端服务器Sb,验证同步登录态请求的合法性,包括:根据第一后端服务器Sa发送的确认消息中非用户属性进行安全校验,如浏览器信息、设备指纹、IP地址等属性信息。图3为本申请另一实施例提供的一种跨域同步登录态的方法的流程图。如图3所示,上述步骤S14中发送同步登录态请求到第二域名对应的第二后端服务器,还包括以下步骤:
步骤S31,获取第一消息体,第一消息体为第一后端服务器根据第二域名对应的密钥对中的第一密钥对用户信息进行加密得到。
本实施例中,第一前端浏览器Ba可以预先将公钥(pubring-bak)发送到各个具有同步登录态权限的域名b的第二后端服务器Sb,第一前端浏览器Ba使用相应的私钥(secring-bak)对消息加密后,第二后端服务器Sb可以使用公钥对加密后的消息进行解密。
可选的,不同域名对应的密钥对不同,即但存在多个具有同步登录态权限的域名时,第一前端浏览器Ba需要根据每个域名对应的密钥对中的私钥进行消息加密。
步骤S32,将包括第一消息体的同步登录请求发送到第二后端服务器,由第二后端服务器在对同步登录态请求验证成功后根据密钥对中的第二密钥对第一消息体解密,解密后得到的用户信息。
本实施例中,在a、b域之间传递消息时,为了提高消息安全性,可以对消息进行加密,避免消息被恶意拦截后造成用户信息的泄露。
可选的,第一前端浏览器Ba发送的同步登录态请求中,可以包括经私钥加密后的消息体以及token,第二后端服务器Sb在接收到同步登录态请求后,基于其中的token进行验证,当验证通过后,使用预存的公钥对加密后的消息体进行解密,得到用户信息,根据该用户信息生成第二cookie信息。这样,进一步提高a、b域之间消息传递的安全性及可靠性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图4为本申请实施例提供的一种跨域同步登录态的装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该跨域同步登录态的装置应用于第一域名对应的第一前端浏览器,包括:
第一发送模块41,用于当接收到登录请求后,将登录请求中的用户信息发送到第一后端服务器;
存储模块42,用于接收第一后端服务器在对用户信息进行验证通过后返回的第一cookie信息,并对第一cookie进行存储;
查询模块43,用于根据第一cookie信息向第一后端服务器查询具有同步登录态权限的第二域名;
第二发送模块44,用于发送同步登录态请求到第二域名对应的第二后端服务器,由第二后端服务器在对同步登录态请求验证成功后生成第二cookie并存储到第二域名对应的第二前端浏览器;
接收模块45,用于接收第二前端浏览器完成第二cookie存储后发送的登录成功消息。
图5为本申请实施例提供的一种跨域同步登录系统的框图,本实施例还提供一种跨域同步登录系统,如图5所示,该系统包括:第一域名对应的第一前端浏览器511和第一后端服务器512,第二域名对应的第二前端浏览器521和第二后端服务器522;
第一前端浏览器511,用于将登录请求中的用户信息发送到第一后端服务器512;
第一后端服务器512,用于对用户信息进行验证,当验证通过后,生成第一cookie信息并发送到第一前端浏览器511;
第一前端浏览器511,用于对第一后端服务器512返回的第一cookie信息进行存储;根据第一cookie信息向第一后端服务器512查询具有同步登录态权限的第二域名;
第一后端服务器512,用于根据第一cookie信息查询与第一域名具有同步登录态权限的第二域名,将第二域名发送到第一前端浏览器511;
第一前端浏览器511,用于发送同步登录态请求到第二域名对应的第二后端服务器522;
第二后端服务器522,用于对同步登录态请求进行验证,当验证成功后,生成第二cookie并发送到第二前端浏览器521;
第二前端浏览器521,用于对第二cookie进行存储,在存储完成后发送登录成功消息到第一前端浏览器511。
可选的,第一前端浏览器511,用于获取第二域名对应的第一令牌;生成包括第一令牌的同步登录态请求;将同步登录态请求发送至第二后端服务器522;第二后端服务器522,用于根据第一令牌生成验证请求,并发送到第一后端服务器512;第一后端服务器512,用于当对验证请求验证通过后,发送确认消息到第二后端服务器522;第二后端服务器522,用于在接收到的确认消息后对同步登录态请求进行验证。
可选的,第一后端服务器512,用于获取第二域名对应的密钥对;采用密钥对中的第一密钥对用户信息进行加密,得到第一消息体;
第一前端浏览器511,用于将包括第一消息体的同步登录请求发送到第二后端服务器522;
第二后端服务器522,用于根据密钥对中的第二密钥对第一消息体解密,对解密得到的用户信息进行验证。
图6为本申请实施例提供的跨域同步登录态的交互流程图,如图6所示,在a、b域之间实现同步登录态,跨域同步登录态交互流程涉及a域对应的第一前端浏览器和第一后端服务器,以及b域对应的第二前端浏览器和第二后端服务器,具体流程如下:
S601,用户在第一前端浏览器上执行登录操作,输入账号和密码后,第一前端浏览器向第一后端服务器发起用户信息验证操作,验证通过后,保存会话;
S602,第一后端服务器根据用户信息生成a域cookie;
S603,第一后端服务器将a域cookie写入到第一前端浏览器,完成对a域cookie的存储;
S604,第一前端浏览器根据a域cookie从第一后端服务器查询具有同步登录态权限的域名;
S605,第一后端服务器将b域地址及token发送给第一前端浏览器;
S606,第一前端浏览器根据用户信息及token生成同步登录态请求并发送到b域的第二后端服务器;
S607,第二后端服务器在对同步登录态请求验证通过后,生成b域cookie;
S608,第二后端服务器将b域cookie写入到第二前端浏览器,完成对b域cookie的存储;
S609,第二前端浏览器在完成b域cookie存储后,将登录成功消息发送到第一前端浏览器;
S610,第一前端浏览器将b域登录成功消息展示给用户。
通过上述交互流程可以看出,第一前端浏览器在完成对a域的cookie存储后,调用b域的第二前端浏览器完成对b域的cookie存储,在将登录结果返回到a域的第一前端浏览器,从而完成用户无感知的cookie存储。
本申请实施例还提供一种电子设备,如图7所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种跨域同步登录态的方法,其特征在于,所述方法包括:
将登录请求中的用户信息发送到第一后端服务器;
接收所述第一后端服务器在对所述用户信息进行验证通过后返回的第一cookie信息,并对所述第一cookie进行存储;
根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
发送同步登录态请求到所述第二域名对应的第二后端服务器,由第二后端服务器在对所述同步登录态请求验证成功后生成第二cookie并存储到所述第二域名对应的第二前端浏览器;
接收所述第二前端浏览器完成所述第二cookie存储后发送的登录成功消息。
2.根据权利要求1所述的方法,其特征在于,所述发送同步登录态请求到所述第二域名对应的第二后端服务器,包括:
获取所述第二域名对应的令牌;
生成包括所述令牌的所述同步登录态请求;
将所述同步登录态请求发送至所述第二后端服务器;
所述方法还包括:
接收所述第二后端服务器发送的验证请求,所述验证请求中包括所述令牌;
当根据所述令牌对所述验证请求验证通过后,发送确认消息到所述第二后端服务器,由所述第二后端服务器在接收到的确认消息后对所述同步登录态请求进行验证。
3.根据权利要求1所述的方法,其特征在于,所述发送同步登录态请求到所述第二域名对应的第二后端服务器,还包括:
获取第一消息体,所述第一消息体为所述第一后端服务器根据所述第二域名对应的密钥对中的第一密钥对所述用户信息进行加密得到;
将包括所述第一消息体的所述同步登录请求发送到所述第二后端服务器,由所述第二后端服务器在对所述同步登录态请求验证成功后根据所述密钥对中的第二密钥对所述第一消息体解密,解密后得到的所述用户信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一cookie和所述第二cookie被设置为HttpOnly属性。
5.一种跨域同步登录态的装置,其特征在于,所述装置包括:
第一发送模块,用于将登录请求中的用户信息发送到第一后端服务器;
存储模块,用于接收所述第一后端服务器在对所述用户信息进行验证通过后返回的第一cookie信息,并对所述第一cookie进行存储;
查询模块,用于根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
第二发送模块,用于发送同步登录态请求到所述第二域名对应的第二后端服务器,由第二后端服务器在对所述同步登录态请求验证成功后生成第二cookie并存储到所述第二域名对应的第二前端浏览器;
接收模块,用于接收所述第二前端浏览器完成所述第二cookie存储后发送的登录成功消息。
6.一种跨域同步登录系统,其特征在于,包括:第一域名对应的第一前端浏览器和第一后端服务器,第二域名对应的第二前端浏览器和第二后端服务器;
所述第一前端浏览器,用于将登录请求中的用户信息发送到所述第一后端服务器;
所述第一后端服务器,用于对所述用户信息进行验证,当验证通过后,生成第一cookie信息并发送到所述第一前端浏览器;
所述第一前端浏览器,用于对所述第一后端服务器返回的第一cookie信息进行存储;根据所述第一cookie信息向所述第一后端服务器查询具有同步登录态权限的第二域名;
所述第一后端服务器,用于根据所述第一cookie信息查询与所述第一域名具有同步登录态权限的第二域名,将所述第二域名发送到所述第一前端浏览器;
所述第一前端浏览器,用于发送同步登录态请求到所述第二域名对应的第二后端服务器;
所述第二后端服务器,用于对所述同步登录态请求进行验证,当验证成功后,生成第二cookie并发送到第二前端浏览器;
所述第二前端浏览器,用于对所述第二cookie进行存储,在存储完成后发送所述登录成功消息到所述第一前端浏览器。
7.根据权利要求6所述的系统,其特征在于,
所述第一前端浏览器,用于获取所述第二域名对应的第一令牌;生成包括所述第一令牌的所述同步登录态请求;将所述同步登录态请求发送至所述第二后端服务器;
所述第二后端服务器,用于根据第一令牌生成验证请求,并发送到所述第一后端服务器;
所述第一后端服务器,用于当对所述验证请求验证通过后,发送确认消息到所述第二后端服务器;
所述第二后端服务器,用于在接收到的确认消息后对所述同步登录态请求进行验证。
8.根据权利要求6或7所述的系统,其特征在于,
所述第一后端服务器,用于获取所述第二域名对应的密钥对;采用所述密钥对中的第一密钥对所述用户信息进行加密,得到第一消息体;
所述第一前端浏览器,用于将包括所述第一消息体的所述同步登录请求发送到所述第二后端服务器;
所述第二后端服务器,用于根据所述密钥对中的第二密钥对所述第一消息体解密,对解密得到的所述用户信息进行验证。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-4任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-4任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617577.2A CN111786996B (zh) | 2020-06-30 | 2020-06-30 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010617577.2A CN111786996B (zh) | 2020-06-30 | 2020-06-30 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111786996A true CN111786996A (zh) | 2020-10-16 |
CN111786996B CN111786996B (zh) | 2023-04-18 |
Family
ID=72761374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010617577.2A Active CN111786996B (zh) | 2020-06-30 | 2020-06-30 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111786996B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259394A (zh) * | 2021-07-05 | 2021-08-13 | 北京小鸟科技股份有限公司 | 基于路由计算的跨域用户认证方法、系统、设备 |
CN114244607A (zh) * | 2021-12-16 | 2022-03-25 | 建信金融科技有限责任公司 | 单点登录方法、系统、设备、介质和程序 |
CN114944948A (zh) * | 2022-05-16 | 2022-08-26 | 郑州小鸟信息科技有限公司 | 一种基于跨域用户权限跟随的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157304A1 (en) * | 2006-01-05 | 2007-07-05 | International Business Machines Corporation | Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers |
CN105897746A (zh) * | 2016-05-26 | 2016-08-24 | 深圳市金立通信设备有限公司 | 一种跨网站登录方法、终端及网站服务器 |
CN110753045A (zh) * | 2019-10-14 | 2020-02-04 | 紫光云(南京)数字技术有限公司 | 不同域之间单点登录的方法 |
-
2020
- 2020-06-30 CN CN202010617577.2A patent/CN111786996B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157304A1 (en) * | 2006-01-05 | 2007-07-05 | International Business Machines Corporation | Method, apparatus and computer program product for automatic cookie synchronization between distinct web browsers |
CN105897746A (zh) * | 2016-05-26 | 2016-08-24 | 深圳市金立通信设备有限公司 | 一种跨网站登录方法、终端及网站服务器 |
CN110753045A (zh) * | 2019-10-14 | 2020-02-04 | 紫光云(南京)数字技术有限公司 | 不同域之间单点登录的方法 |
Non-Patent Citations (1)
Title |
---|
慧心斋: "如何实现跨浏览器共享cookies", 《HTTPS://BLOG.CSDN.NET/CX308679291/ARTICLE/DETAILS/89194104》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259394A (zh) * | 2021-07-05 | 2021-08-13 | 北京小鸟科技股份有限公司 | 基于路由计算的跨域用户认证方法、系统、设备 |
CN113259394B (zh) * | 2021-07-05 | 2021-09-28 | 北京小鸟科技股份有限公司 | 基于路由计算的跨域用户认证方法、系统、设备 |
CN114244607A (zh) * | 2021-12-16 | 2022-03-25 | 建信金融科技有限责任公司 | 单点登录方法、系统、设备、介质和程序 |
CN114244607B (zh) * | 2021-12-16 | 2023-06-30 | 建信金融科技有限责任公司 | 单点登录方法、系统、设备、介质和程序 |
CN114944948A (zh) * | 2022-05-16 | 2022-08-26 | 郑州小鸟信息科技有限公司 | 一种基于跨域用户权限跟随的方法及系统 |
CN114944948B (zh) * | 2022-05-16 | 2024-01-09 | 郑州小鸟信息科技有限公司 | 一种基于跨域用户权限跟随的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111786996B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220394026A1 (en) | Network identity protection method and device, and electronic equipment and storage medium | |
WO2017028804A1 (zh) | 一种Web实时通信平台鉴权接入方法及装置 | |
US11841959B1 (en) | Systems and methods for requiring cryptographic data protection as a precondition of system access | |
US10547602B2 (en) | Communications methods and apparatus related to web initiated sessions | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
CN107517179B (zh) | 一种鉴权方法、装置和系统 | |
WO2016184216A1 (zh) | 一种防止盗链的方法、防止盗链的服务器及客户端 | |
CN102201915B (zh) | 一种基于单点登录的终端认证方法和装置 | |
CN111786996B (zh) | 一种跨域同步登录态的方法、装置及跨域同步登录系统 | |
CN109413076B (zh) | 域名解析方法及装置 | |
CN107347068A (zh) | 单点登录方法及系统、电子设备 | |
CN111901346B (zh) | 一种身份认证系统 | |
CN109510802B (zh) | 鉴权方法、装置及系统 | |
US10257171B2 (en) | Server public key pinning by URL | |
CN105991614B (zh) | 一种开放授权、资源访问的方法及装置、服务器 | |
CN110933078B (zh) | 一种h5未登录用户会话跟踪方法 | |
CN111800378B (zh) | 一种登录认证方法、装置、系统和存储介质 | |
US20090138947A1 (en) | Provisioning a network appliance | |
CN111526161A (zh) | 一种通信方法、通信设备及代理系统 | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
CN110138765B (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
US20170250978A1 (en) | Method and system for managing secure custom domains | |
CN108650209B (zh) | 一种单点登录的方法、系统、装置及认证方法 | |
CN112261103A (zh) | 一种节点接入方法及相关设备 | |
CN112738005A (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 |