CN113285936B - 一种跨域数据获取方法以及相关装置 - Google Patents
一种跨域数据获取方法以及相关装置 Download PDFInfo
- Publication number
- CN113285936B CN113285936B CN202110528060.0A CN202110528060A CN113285936B CN 113285936 B CN113285936 B CN 113285936B CN 202110528060 A CN202110528060 A CN 202110528060A CN 113285936 B CN113285936 B CN 113285936B
- Authority
- CN
- China
- Prior art keywords
- website
- token
- browser
- token identifier
- server
- 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 54
- 238000012795 verification Methods 0.000 claims abstract description 21
- 235000014510 cooky Nutrition 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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
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
本申请实施例公开了一种跨域数据获取方法以及相关装置,用于帮助用户更加方便地实现跨域数据的获取。本申请实施例方法包括:获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;接收并展示所述目标数据。
Description
技术领域
本申请实施例涉及数据处理领域,特别是一种跨域数据获取方法以及相关装置。
背景技术
在由浏览器和服务器(Browser/Server Architecture)架构模式的Web应用中,当用户在使用浏览器进行网页浏览时,往往需要在多个网页之间进行跳转,而出于个性化服务和网络安全考虑,用户在通过浏览器对一些网站的网页进行访问时,该网站的服务器需要用户进行登录验证,即该网站的服务器仅给登录验证状态的用户提供数据服务,但同时考虑到提高用户对该网站的网页的浏览体验,避免用户在跳转到同一个网站的不同网页时都需要登录,现有技术中通常基于浏览器的cookie来实现同一个网站的跨网页登录。
例如,用户在使用浏览器成功登录网站A的一个网页后,浏览器会接收到网站A的服务器对用户登录状态完成验证的令牌标识A(token-A),该令牌标识A会被浏览器存储到cookie中,当用户在点击浏览器中网站A的不同网页时,浏览器都会主动携带该令牌标识A向服务器请求数据,而服务器则仅根据令牌标识A的有效性来确定是否给该浏览器提供数据服务,以实现网站A的跨网页免登陆。存储在浏览器cookie中的令牌标识是存在有效期和退出机制的,当浏览器超过一定时间内未使用该令牌标识时或当浏览器接收到用户退出的指令时,浏览器就会删除该令牌A,没有用户登录的浏览器向服务器请求数据时,就不会带有令牌标识,服务器不会回应没有令牌标识的数据请求,保证用户的账户安全。
现有技术中当用户在网站A完成验证登录之后,服务器会生成的token-A发给该浏览器保存,且该浏览器会标记token-A仅用于网站A的数据请求,以帮助用户自动完成在网站A不同网页的登录;当用户子通过浏览器中进入网站B时,浏览器则不会去使用网站A验证的token-A给网站B进行数据请求,而是引导用户在网站B进行登录验证,当用户在网站B完成验证登录之后,服务器再给浏览器发送token-B,使得浏览器保持该token-B,且标记token-B仅用于网站B的数据请求,以帮助用户自动完成在网站B的不同网页的登录。可见,现有技术中浏览器需要用户在跨域获取数据时需要用户进行多次登录验证,造成用户体验不佳。
发明内容
本申请实施例提供了一种跨域数据获取方法以及相关装置,用于帮助用户更加方便地实现跨域数据的获取。
本申请第一方面提供一种跨域数据获取方法,应用于浏览器端,包括:
获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;
接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;
使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;
接收并展示所述目标数据。
可选的,在接收向第二网站请求数据的请求指令之后,使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令之前,所述方法还包括:
判断所述第二网站的登录状态;
若所述第二网站处于未登录状态,则执行使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,所述使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令包括:
使用行内框架将所述第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;
将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识;
使用所述第二令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,在用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令之后,所述方法还包括:
接收退出指令,所述退出指令用于指示所述用户的登录状态变为登出状态;
根据所述退出指令将所述用户登出所述第一网站和所述第二网站,并删除所述第一令牌标识和所述第二令牌标识。
可选的,所述第一网站与所述第二网站受同一个服务器端的控制台进行登录验证。
本申请第二方面提供一种跨域数据获取方法,应用于服务器端,包括:
接收浏览器端发送的请求指令,所述请求指令包括第二令牌标识以及目标数据的请求,其中所述第二令牌标识为所述服务器端在用户于第一网站成功登录后发送至所述浏览器端第一令牌标识;
判断所述第二令牌标识是否有效;
若确定所述第二令牌标识有效,则向所述浏览器端返回所述目标数据。
本申请第三方面提供一种浏览器端,包括:
获取单元,用于获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;
接收单元,用于接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;
发送单元,用于使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;
展示单元,用于接收并展示所述目标数据。
可选的,所述浏览器端还包括:
判断单元,用于判断所述第二网站的登录状态;
执行单元,用于若所述第二网站处于未登录状态,则执行使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,所述发送单元在使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令时,具体用于:
使用行内框架将所述第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;
将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识;
使用所述第二令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,所述浏览器端还包括:
接收单元,还用于接收退出指令,所述退出指令用于指示所述用户的登录状态变为登出状态;
登出与删除单元,用于根据所述退出指令将所述用户登出所述第一网站和所述第二网站,并删除所述第一令牌标识和所述第二令牌标识。
可选的,所述第一网站与所述第二网站受同一个服务器端的控制台进行登录验证。
本申请第四方面提供一种服务器,包括:
接收单元,用于接收浏览器端发送的请求指令,所述请求指令包括第二令牌标识以及目标数据的请求,其中所述第二令牌标识为所述服务器端在用户于第一网站成功登录后发送至所述浏览器端第一令牌标识;
判断单元,用于判断所述第二令牌标识是否有效;
返回单元,用于若确定所述第二令牌标识有效,则向所述浏览器端返回所述目标数据。
本申请第五方面提供一种计算机装置,包括:
处理器、存储器;
所述存储器中存储有程序
所述处理器执行所述程序时执行如前述第一方面中任一项所述的方法。
本申请第六方面提供另一种计算机装置,包括:
处理器、存储器;
所述存储器中存储有程序;
所述处理器执行所述程序时执行如前述第二方面中所述的方法。
本申请第七方面提供一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如前述第一方面与第二方面中任一项所述的方法。
本申请第八方面提供一种计算机程序产品,所述计算机程序产品在计算机上执行时,使得所述计算机执行如前述第一方面与第二方面中任一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
经过申请人研究发现用户的登录账户于同一个浏览器成功登录A网站后获得服务器生成的令牌标识token-A与成功登录B网站后获得服务器生成的令牌标识token-B同一个令牌标识token。基于上述的基础,本申请实施例跨域数据获取方法应用于浏览器端,浏览器端可以基于用户将登录账户于第一网站成功登录后获取的第一令牌标识,当接收向第二网站请求目标数据的请求指令时,使用该第一令牌标识向服务器端的该第二网站发送请求指令,以使得服务器端验证通过该第一令牌标识后返回目标数据,浏览器端接收并展示该目标数据,其中第一网站与第二网站互为跨域(跨顶级域名的网站)。可见,本实施例跨域数据获取方法实现从浏览器端(前端)跨域获取数据,针对不同域名的应用系统,实现了完全跨域用户登录信息共享。
附图说明
图1为本申请跨域数据获取方法的一个实施例流程示意图;
图2为本申请跨域数据获取方法的另一个实施例流程示意图;
图3为本申请跨域数据获取方法的另一个实施例流程示意图;
图4为本申请浏览器端的一个实施例结构示意图;
图5为本申请服务器端的一个实施例结构示意图;
图6为本申请计算机装置的一个实施例结构示意图;
图7为本申请计算机装置的另一个实施例结构示意图。
具体实施方式
本申请实施例提供了一种跨域数据获取方法以及相关装置,用于帮助用户更加方便地实现跨域数据的获取。
需要说明的是,本申请实施例中提及的跨域是指跨越顶级域名,即跨越传统浏览器中受同源策略限制的网站或网络地址;令牌标识是指令牌认证机制中的token,令牌标识一般是服务器端生成的一串字符串,作为浏览器端进行数据请求时的一个身份状态标识;cookie是指服务器端产生并存储在浏览器端的一个text类型文本,用于保存用户在浏览器端的少量数据,且cookie在网页关闭时会被自动清除;浏览器端是指由浏览器和服务器(Browser/Server Architecture)架构模式的Web应用中的浏览器,用于给用户提供网页浏览服务;服务器端是指由浏览器和服务器(Browser/Server Architecture)架构模式的Web应用中的服务器,用于给浏览器提供数据服务;服务器的控制台是指浏览器和服务器(Browser/Server Architecture)架构模式中管理用户注册、登录、退出与注销等业务的功能模块;本申请实施例的第一网站是指用户通过浏览器端成功登录的任意一个网站;本申请实施例的第二网站是指用户通过浏览器端尝试登录的另一个网站,且第二网站与第一网站之间属于互为跨域;iframe是指HTML标签,iframe元素会创建包含另外一个文档的内联框架(即行内框架)。
请参阅图1,本申请跨域数据获取方法的一个实施例,应用于浏览器端,包括:
101、获取第一令牌标识,第一令牌标识为服务端在用户于第一网站成功登录后发送至浏览器端。
本步骤首先需要获取第一令牌标识,该第一令牌标识为用户于浏览器端的第一网站成功登录后,服务器端发送至浏览器端,而浏览器端将该第一令牌标识存储在cookie中。本步骤则在该第一网站的cookie中获取到该第一令牌标识。例如,第一网站为A网站,用户通过浏览器端成功登录A网站之后,浏览器会在该A网站的cookie中存储服务器端生成的第一令牌标识token-A,本步骤则从该A网站的cookie中获取该第一令牌标识token-A。
102、接收向第二网站请求目标数据的请求指令,第二网站与第一网站互为跨域。
在步骤101获取到第一令牌标识之后,本申请实施例的浏览器端可以接收用户向第二网站请求目标数据的请求指令,此处的第二网站与第一网站互为跨域。
103、使用第一令牌标识向服务器端的第二网站发送请求指令,以使得服务器端验证通过第一令牌后返回目标数据。
当步骤102中浏览器端接收到用户向第二网站请求目标数据的请求指令时,本步骤的浏览器端会主动使用第一令牌标识向服务器端的第二网站发送请求目标数据的请求指令,以使得服务器端验证通过该第一令牌标识后返回目标数据给浏览器端。例如,将该第一令牌标识token-A用于向第二网站(例如B网站)请求目标数据,而不需要引导用户在第二网站的登录或注册,而服务器端只要验证请求指令中携带的第一令牌标识是有效,则会给浏览器端返回请求指令中请求的目标数据。而传统浏览器端会依照同源策略的限制,引导用户在第二网站的登录或注册,等用户在第二网站成功登录后,再携带第二网站的令牌标识给服务器端发送请求目标数据的请求指令,服务器再返回目标数据。可见本申请实施例更加方便快捷,用户体验更佳。
104、接收并展示目标数据。
接收步骤103中服务器返回的目标数据,并通过浏览器端的网页呈现该目标数据,以便用户查看。
由于用户的登录账户于同一个浏览器成功登录第一网站(例如A网站)后获得服务器生成的令牌标识(例如A网站的token-A)与成功登录第二网站(例如B网站)后获得服务器生成的令牌标识(例如B网站的token-B)同一个令牌标识token。基于上述的基础,本申请实施例跨域数据获取方法应用于浏览器端,浏览器端可以基于用户将登录账户于第一网站成功登录后获取的第一令牌标识,当接收向第二网站请求目标数据的请求指令时,使用该第一令牌标识向服务器端的该第二网站发送请求指令,以使得服务器端验证通过该第一令牌标识后返回目标数据,浏览器端接收并展示该目标数据,其中第一网站与第二网站互为跨域(跨顶级域名的网站)。可见,本实施例跨域数据获取方法实现从浏览器端(前端)跨域获取数据,针对不同域名的应用系统,实现了完全跨域用户登录信息共享。
请参阅图2,本申请跨域数据获取方法的另一个实施例,应用于服务器端,包括:
201、接收浏览器端发送的请求指令,请求指令包括:第二令牌标识以及目标数据的请求,其中第二令牌标识为服务器端在用户于第一网站成功登录后发送至浏览器端第一令牌标识。
本步骤服务器接收浏览器端发送的请求指令,其中该请求指令至少包括第二令牌标识以及对目标数据的请求,其中第二令牌标识为服务器端在用户于第一网站成功登录后发送至浏览器端第一令牌标识。服务器端针对具有第二令牌标识的请求指令会在验证通过该第二令牌标识后,服务器端则会认为用户已经在浏览器端已经成功登录,给浏览器端提供请求指令所请求的目标数据。
202、判断第二令牌标识是否有效,若第二令牌有效,则执行步骤203;若第二令牌无效,则不提供针对目标数据的服务。
服务器端进一步判断步骤201接收到的请求指令中的第二令牌标识是否有效,以便确定服务器端是否应响应该指令请求。例如,本步骤服务器端可以通过判断第二令牌标识的时间有效性,即第二令牌标识上标明有效时间段,服务器端则将该有效时间段与当前时间进行比对,判断当前时间是否在该有效时间段内,若当前时间在该有效时间段内,则确定该第二令牌标识有效;若当前时间不在该有效时间段内,则确定该第二令牌标识无效。可以理解的是,服务器判断第二令牌标识是否有效的方法有很多,只要服务器端与浏览器端相互约定好判断的规则,在此就不一一举例进行说明。
203、向浏览器端返回目标数据。
服务器端在步骤202中确定第二令牌标识有效之后,直接给浏览器端提供该请求指令所请求的目标数据。
可见,在本申请实施例服务器端直接验证浏览器请求第二网站的目标数据时携带的第二令牌标识,且第二令牌标识为服务器端在用户于第一网站成功登录后发送至浏览器端第一令牌标识,并在验证通过第二令牌标识后直接向浏览器端提供目标数据,非常方便快捷高效。
在上述实施例中描述了本申请跨域数据获取方法分别于浏览器端与服务器端的实施例,请参阅图3,本申请跨域数据获取方法于浏览器端与服务器端之间进行详细交互的一个实施例,包括:
301、浏览器端获取第一网站的登录账户与密码。
首先,本申请实施例的浏览器端在接收用户对第一网站的数据获取请求时,浏览器引导用户在第一网站上进行登录,即要求用户在第一网站的登录页面输入账号与密码,以便浏览器端获取第一网站的登录账户与密码。若用户在第一网站无账户,则引导用户进行注册后登录。
302、浏览器端向服务器端发送该登录账户于第一网站的登录请求。
将步骤301中获取第一网站的登录账户与密码形成登录请求,并将该登录请求向服务器发送,以使得服务器端收到浏览器端的该登录请求。
303、服务器端验证第一网站的登录账号与密码。
服务器端对步骤302发送的登录请求中针对第一网站的登录账号与密码进行验证,以便确定是否给该浏览器发送针对第一网站的第一令牌标识。例如,服务器将该登录账号与密码于第一网站的数据库中查询,判断该登录账号与密码是否对应,若对应,则服务器端认为通过本步骤的验证。
304、浏览器端接收服务器端发送的第一网站的第一令牌标识。
当步骤303中服务器端通过第一网站的验证之后,服务器端则会给浏览器端发送第一令牌标识,以便于后续浏览器进行新的数据请求过程中携带该第一令牌标识,而不再需要进行繁杂的登录验证,即避免了用户的登录账户与密码的泄露,又使得浏览器端向服务器端的请求变得更加简单。
305、浏览器端接收向第二网站请求目标数据的请求指令。
在步骤304中浏览器端接收服务器端发送的第一令牌标识的前提下,浏览器端可以接收用户向第二网站请求目标数据的请求指令,此处的第二网站与前述第一网站互为跨域。
306、浏览器端判断第二网站的登录状态,若第二网站的登录状态为未登录,则执行步骤307;若第二网站的登录状态为已登录,则按照现有技术执行。
浏览器端在步骤305中接收到向第二网站请求目标数据的请求指令时,浏览器端需先判断第二网站的登录状态,即当第二网站的登录状态为未登录时,本申请实施例的跨域数据获取方法才有意义;当第二网站的登录状态为已登录,则证明浏览器端中针对第二网站的cookie已存在第二网站的令牌标识,只需按照现有技术即可通过浏览器端获取第二网站的数据,即不在本申请实施例的阐述范围。
307、浏览器端使用行内框架将第二网站嵌套入第一网站,并使用消息传递函数将第一网站中的第一令牌发送至第二网站。
浏览器端在步骤306中确定第二网站处于未登录状态时,且服务器端的第二网站需要浏览器端处于登录状态才给浏览器端提供数据服务,那么本申请浏览器端则可以使用行内框架(iframe)将第二网站嵌套入第一网站,并使用消息传递函数(例如postMessage())将第一网站中cookie的第一令牌发送至第二网站,即本申请浏览器端则可以使用iframe+postMessage()将浏览器端的第一网站中cookie的第一令牌标识发送至第二网站。例如,第一网站为入口应用A(http://172.24.4.41:9000),第二网站为第三方应用B(http://172.24.151:9002);用户通过浏览器端使用登录账户成功登录第一网站后获得第一令牌标识token-A,而此时第二网站因处于未登录状态,第二网站不存在服务器端发送的令牌标识,而服务器端对第二网站的数据请求需要有令牌标识才提供数据服务。那么,本申请实施例的做法可以是:在第一网站中通过行内框架iframe嵌入第二网站,在用户于第一网站成功登录之后,通过消息传递函数postMessage()将第一网站中cookie存储的token-A传递到第二网站中。
308、浏览器端将第一令牌标识写入第二网站的cookie,形成第二令牌标识。
在步骤307中获取到第一令牌标识之后,本步骤中浏览器端可以将第一令牌标识写入第二网站的cookie,形成第二令牌标识。例如,在步骤307中第二网站得到token-A之后,可以通过浏览器端使用JavaScript将token-A加载到第二网站的cookie,以使得第二网站的cookie中也有了令牌标识,此时将加载第二网站的cookie中的第一令牌标识(token-A)称为第二令牌标识(token-B)。
309、浏览器端携带第二令牌标识向服务器端的第二网站发送请求目标数据的请求指令。
浏览器端会主动携带第二令牌标识向服务器端的第二网站发送请求目标数据的请求指令,以使得服务器端验证通过该第二令牌标识后返回目标数据给浏览器端。
310、服务器端验证第二令牌标识是否有效,若第二令牌有效,则执行步骤311;若第二令牌无效,则不提供针对目标数据的服务。
本步骤服务器端进一步判断步骤309接收到的请求指令中的第二令牌标识是否有效,以确定服务器端是否响应该指令请求。由于第二令牌标识实质为上述第一令牌标识写入第二网站的副本,一般来说,只要第一令牌标识在服务器端时有效的,那么第二令牌标识同样在服务器端也一样是有效的。而服务器端判断第二令牌标识是否有效的方法具有多种,具体请参阅图2实施例中步骤202的描述,在此不再进行赘述。
311、浏览器端接收服务器端发送的目标数据。
接收步骤103中服务器返回的目标数据,并通过浏览器端的网页呈现该目标数据,以便用户查看,以实现了浏览器端对第二网站的跨域数据获取。
312、浏览器端接收登录账户的退出指令。
可以理解的是,当浏览器端在步骤308中形成第二网站的第二令牌标识之后,就意味着浏览器端和服务器端都认为用户已通过浏览器在第二网站上成功登录,那么此时用户至少通过该浏览器端登录了第一网站与第二网站,那么本申请实施例的浏览器端在步骤308之后可以接收到针对登录账户的退出指令,该退出指令用于指示用户登录状态转变为登出状态。
313、浏览器端根据退出指令将登录账户登出第一网站与第二网站,并删除第一令牌标识和第二令牌标识。
当步骤312中接收到登录账户的退出指令时,本申请实施例的浏览器端则会根据该退出指令将登录账户登出第一网站与第二网站,并删除第一令牌标识和第二令牌标识,以使得浏览器端不能再携带第一令牌标识或第二令牌标识向服务器端请求数据。
由于用户的登录账户于同一个浏览器成功登录第一网站(例如A网站)后获得服务器生成的令牌标识(例如A网站的token-A)与成功登录第二网站(例如B网站)后获得服务器生成的令牌标识(例如B网站的token-B)同一个令牌标识token。基于上述的基础,本申请实施例跨域数据获取方法应用于浏览器端,浏览器端可以基于用户将登录账户于第一网站成功登录后获取的第一令牌标识,当接收向第二网站请求目标数据的请求指令时,使用该第一令牌标识向服务器端的该第二网站发送请求指令,以使得服务器端验证通过该第一令牌标识后返回目标数据,浏览器端接收并展示该目标数据,其中第一网站与第二网站互为跨域(跨顶级域名的网站)。可见,本实施例跨域数据获取方法实现从浏览器端(前端)跨域获取数据,针对不同域名的应用系统,实现了完全跨域用户登录信息共享。
上面对本申请跨域数据获取方法的实施例进行了描述,下面对本申请浏览器端的一个实施例结构进行描述,请参阅图4,包括:
获取单元401,用于获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;
接收单元402,用于接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;
发送单元403,用于使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;
展示单元404,用于接收并展示所述目标数据。
可选的,所述浏览器端还包括:
判断单元405,用于判断所述第二网站的登录状态;
执行单元406,用于若所述第二网站处于未登录状态,则执行使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,所述发送单元403在使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令时,具体用于:
使用行内框架将所述第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;
将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识;
使用所述第二令牌标识向所述服务器端的所述第二网站发送所述请求指令。
可选的,所述浏览器端还包括:
接收单元402,还用于接收退出指令,所述退出指令用于指示所述用户的登录状态变为登出状态;
登出与删除单元407,用于根据所述退出指令将所述用户登出所述第一网站和所述第二网站,并删除所述第一令牌标识和所述第二令牌标识。
可选的,所述第一网站与所述第二网站受同一个服务器端的控制台进行登录验证。
本申请实施例浏览器端所执行的操作与前述图1以及图3实施例中浏览器端所执行的操作类似,在此不再进行赘述。
由于用户的登录账户于同一个浏览器成功登录第一网站(例如A网站)后获得服务器生成的令牌标识(例如A网站的token-A)与成功登录第二网站(例如B网站)后获得服务器生成的令牌标识(例如B网站的token-B)同一个令牌标识token。基于上述的基础,本申请实施例跨域数据获取方法应用于浏览器端,浏览器端可以基于用户将登录账户于第一网站成功登录后获取的第一令牌标识,当接收向第二网站请求目标数据的请求指令时,使用该第一令牌标识向服务器端的该第二网站发送请求指令,以使得服务器端验证通过该第一令牌标识后返回目标数据,浏览器端接收并展示该目标数据,其中第一网站与第二网站互为跨域(跨顶级域名的网站)。可见,本实施例跨域数据获取方法实现从浏览器端(前端)跨域获取数据,针对不同域名的应用系统,实现了完全跨域用户登录信息共享。
请参阅图5,本申请服务器端的一个实施例,包括:
接收单元501,用于接收浏览器端发送的请求指令,所述请求指令包括:第二令牌标识以及目标数据的请求,其中所述第二令牌标识为所述服务器端在用户于第一网站成功登录后发送至所述浏览器端第一令牌标识;
判断单元502,用于判断所述第二令牌标识是否有效;
返回单元503,用于若确定所述第二令牌标识有效,则向所述浏览器端返回所述目标数据。
本申请实施例服务器端所执行的操作与前述图2以及图3实施例中服务器端所执行的操作类似,在此不再进行赘述。
可见,在本申请实施例服务器端直接验证浏览器请求第二网站的目标数据时携带的第二令牌标识,且第二令牌标识为服务器端在用户于第一网站成功登录后发送至浏览器端第一令牌标识,并在验证通过第二令牌标识后直接向浏览器端提供目标数据,非常方便快捷高效。
下面对本申请计算机装置的一个实施例进行描述,请参考图6,包括:
该计算机装置600可以包括一个或一个以上中央处理器(central processingunits,CPU)61和存储器602,该存储器602中存储有一个或一个以上的应用程序或数据。其中,存储器602可以是易失性存储或持久存储。存储在存储器602的程序可以包括一个或一个以上模块,每个模块可以包括对计算机装置600中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器602通信,在计算机装置600上执行存储器602中的一系列指令操作。该中央处理器601可以执行前述图1或图3实施例中浏览器端所执行的操作,具体此处不再赘述。
下面对本申请计算机装置的一个实施例进行描述,请参考图7,包括:
该计算机装置700可以包括一个或一个以上中央处理器(central processingunits,CPU)701和存储器702,该存储器702中存储有一个或一个以上的应用程序或数据。其中,存储器702可以是易失性存储或持久存储。存储在存储器702的程序可以包括一个或一个以上模块,每个模块可以包括对计算机装置700的一系列指令操作。更进一步地,中央处理器701可以设置为与存储器702通信,在计算机装置700上执行存储器702中的一系列指令操作。该中央处理器701可以执行前述图2或图3实施例中服务器端所执行的操作,具体此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (9)
1.一种跨域数据获取方法,其特征在于,应用于浏览器端,包括:
获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;
接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;
使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;其中,所述使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令包括:使用行内框架将所述第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识,所述第二令牌标识用于表示所述用户通过所述浏览器在所述第二网站成功登录;使用所述第二令牌标识向所述服务器端的所述第二网站发送所述请求指令;
接收并展示所述目标数据。
2.根据权利要求1所述的跨域数据获取方法,其特征在于,在接收向第二网站请求数据的请求指令之后,使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令之前,所述方法还包括:
判断所述第二网站的登录状态;
若所述第二网站处于未登录状态,则执行使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令。
3.根据权利要求1所述的跨域数据获取方法,其特征在于,在用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令之后,所述方法还包括:
接收退出指令,所述退出指令用于指示所述用户的登录状态变为登出状态;
根据所述退出指令将所述用户登出所述第一网站和所述第二网站,并删除所述第一令牌标识和所述第二令牌标识。
4.根据权利要求1所述的跨域数据获取方法,其特征在于,所述第一网站与所述第二网站受同一个服务器端的控制台进行登录验证。
5.一种跨域数据获取方法,其特征在于,应用于服务器端,包括:
接收浏览器端发送的请求指令,所述请求指令包括第二令牌标识和目标数据的请求,其中所述第二令牌标识为所述服务器端在用户于第一网站成功登录后发送至所述浏览器端第一令牌标识;其中所述请求指令的生成方式为,所述浏览器端使用行内框架将第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识,所述第二令牌标识用于表示所述用户通过所述浏览器在所述第二网站成功登录;使用所述第二令牌标识生成所述请求指令;
判断所述第二令牌标识是否有效;
若确定所述第二令牌标识有效,则向所述浏览器端返回所述目标数据。
6.一种浏览器端,其特征在于,包括:
获取单元,用于获取第一令牌标识,所述第一令牌标识为服务器端在用户于第一网站成功登录后发送至所述浏览器端;
接收单元,用于接收向第二网站请求目标数据的请求指令,所述第二网站与所述第一网站互为跨域;
发送单元,用于使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令,以使得所述服务器端验证通过所述第一令牌标识后返回所述目标数据;其中,所述使用所述第一令牌标识向所述服务器端的所述第二网站发送所述请求指令包括:使用行内框架将所述第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识,所述第二令牌标识用于表示所述用户通过所述浏览器在所述第二网站成功登录;使用所述第二令牌标识向所述服务器端的所述第二网站发送所述请求指令;
展示单元,用于接收并展示所述目标数据。
7.一种服务器端,其特征在于,包括:
接收单元,用于接收浏览器端发送的请求指令,所述请求指令包括第二令牌标识以及目标数据的请求,其中所述第二令牌标识为所述服务器端在用户于第一网站成功登录后发送至所述浏览器端第一令牌标识;其中所述请求指令的生成方式为,所述浏览器端使用行内框架将第二网站嵌套入所述第一网站,并使用消息传递函数将所述第一网站中的所述第一令牌标识发送至所述第二网站;将所述第一令牌标识写入所述第二网站的cookie,形成第二令牌标识,所述第二令牌标识用于表示所述用户通过所述浏览器在所述第二网站成功登录;使用所述第二令牌标识生成所述请求指令;
判断单元,用于判断所述第二令牌标识是否有效;
返回单元,用于若确定所述第二令牌标识有效,则向所述浏览器端返回所述目标数据。
8.一种计算机装置,其特征在于,包括:
处理器、存储器;
所述存储器中存储有程序
所述处理器执行所述程序时执行如权利要求1至5中任一项所述的方法。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528060.0A CN113285936B (zh) | 2021-05-14 | 2021-05-14 | 一种跨域数据获取方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528060.0A CN113285936B (zh) | 2021-05-14 | 2021-05-14 | 一种跨域数据获取方法以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285936A CN113285936A (zh) | 2021-08-20 |
CN113285936B true CN113285936B (zh) | 2023-10-31 |
Family
ID=77279333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528060.0A Active CN113285936B (zh) | 2021-05-14 | 2021-05-14 | 一种跨域数据获取方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285936B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124430B (zh) * | 2021-08-31 | 2024-03-01 | 青岛海尔科技有限公司 | 一种令牌置换方法、装置和存储介质 |
CN113992446B (zh) * | 2021-12-28 | 2022-03-29 | 北京翼辉信息技术有限公司 | 一种跨域浏览器用户认证方法、系统及计算机储存介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276190B1 (en) * | 2008-08-19 | 2012-09-25 | Google Inc. | Cross-domain authentication |
CN104378376A (zh) * | 2014-11-18 | 2015-02-25 | 深圳中兴网信科技有限公司 | 基于soa的单点登录方法、认证服务器和浏览器 |
CN110213321A (zh) * | 2019-01-17 | 2019-09-06 | 腾讯云计算(北京)有限责任公司 | 互联网应用中提供第三方服务的方法、装置及电子设备 |
CN110300133A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 跨域数据传输方法、装置、设备及存储介质 |
CN111212016A (zh) * | 2018-11-21 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 跨站请求处理方法、装置及电子设备 |
CN111628965A (zh) * | 2020-04-03 | 2020-09-04 | 北京奇艺世纪科技有限公司 | 一种跨域名登录方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9276929B2 (en) * | 2013-03-15 | 2016-03-01 | Salesforce.Com, Inc. | Method and apparatus for multi-domain authentication |
US20210012025A1 (en) * | 2019-07-10 | 2021-01-14 | At&T Intellectual Property I, L.P. | System and method for session-aware datastore for the edge |
-
2021
- 2021-05-14 CN CN202110528060.0A patent/CN113285936B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276190B1 (en) * | 2008-08-19 | 2012-09-25 | Google Inc. | Cross-domain authentication |
CN104378376A (zh) * | 2014-11-18 | 2015-02-25 | 深圳中兴网信科技有限公司 | 基于soa的单点登录方法、认证服务器和浏览器 |
CN110300133A (zh) * | 2018-03-22 | 2019-10-01 | 财付通支付科技有限公司 | 跨域数据传输方法、装置、设备及存储介质 |
CN111212016A (zh) * | 2018-11-21 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 跨站请求处理方法、装置及电子设备 |
CN110213321A (zh) * | 2019-01-17 | 2019-09-06 | 腾讯云计算(北京)有限责任公司 | 互联网应用中提供第三方服务的方法、装置及电子设备 |
CN111628965A (zh) * | 2020-04-03 | 2020-09-04 | 北京奇艺世纪科技有限公司 | 一种跨域名登录方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113285936A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2679286T3 (es) | Distinguir usuarios válidos de robots, OCR y solucionadores de terceras partes cuando se presenta CAPTCHA | |
US8612993B2 (en) | Identity persistence via executable scripts | |
CN102682009B (zh) | 一种用户登录网页的方法及系统 | |
US8347371B2 (en) | Providing selective access to a web site | |
Jakobsson et al. | Invasive browser sniffing and countermeasures | |
CN103501304B (zh) | 控制web系统越权访问的方法及装置 | |
US8448241B1 (en) | Browser extension for checking website susceptibility to cross site scripting | |
CN102594934B (zh) | 一种识别被劫持网址的方法及装置 | |
US7673045B1 (en) | Multiple site automated logout | |
US11610182B2 (en) | System and method for electronic lead verification | |
US20090210937A1 (en) | Captcha advertising | |
US20110093790A1 (en) | Preemptive caching for web-based systems | |
US20080031447A1 (en) | Systems and methods for aggregation of access to network products and services | |
CN113285936B (zh) | 一种跨域数据获取方法以及相关装置 | |
CN1478348A (zh) | Web站点的安全会话管理和认证 | |
JP2011530740A (ja) | デジタルidを用いたフォーム入力および自動パスワード生成 | |
CN104144052B (zh) | 一种文字中间的关键词与图片或视频对应的验证方法 | |
CN103577526B (zh) | 一种验证页面是否被修改的方法、系统及浏览器 | |
CN102833212A (zh) | 网页访问者身份识别方法及系统 | |
WO2014026429A1 (zh) | 热力图中的数据确定方法及装置 | |
US20200084199A1 (en) | Techniques for identification of location of relevant fields in a credential-seeking web page | |
CN110968760A (zh) | 网页数据的爬取方法、装置、网页登录方法及装置 | |
US9355269B2 (en) | Method and system for managing uniquely identifiable bookmarklets | |
TWI397297B (zh) | 經由第三方位址中內植之登入式標記存取網路服務供應者之方法與系統 | |
WO2018112878A1 (zh) | 一种基于令牌机制的检测和防御cc攻击的系统和方法 |
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 |