CN111371811B - 一种资源调用方法、资源调用装置、客户端及业务服务器 - Google Patents
一种资源调用方法、资源调用装置、客户端及业务服务器 Download PDFInfo
- Publication number
- CN111371811B CN111371811B CN202010328054.6A CN202010328054A CN111371811B CN 111371811 B CN111371811 B CN 111371811B CN 202010328054 A CN202010328054 A CN 202010328054A CN 111371811 B CN111371811 B CN 111371811B
- Authority
- CN
- China
- Prior art keywords
- token
- identification code
- cookie
- session identification
- request
- 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
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/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/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)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种资源调用方法、资源调用装置、客户端及业务服务器,其中,该方法包括:在客户端通过预设的第三方登录服务器登录成功后,接收所述第三方登录服务器下发的Cookie,其中,所述Cookie中包含会话识别码;生成携带有所述Cookie的令牌请求,并向业务服务器发送所述令牌请求;接收所述业务服务器基于所述令牌请求所返回的目标令牌,其中,所述目标令牌由所述业务服务器根据所述Cookie所包含的会话识别码而生成;基于所述目标令牌,调用所述业务服务器的资源。通过本申请方案,可将登陆功能从业务服务器中抽离,使得客户端通过第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
Description
技术领域
本申请属于互联网技术领域,尤其涉及一种资源调用方法、资源调用装置、客户端、业务服务器及计算机可读存储介质。
背景技术
现有技术中,研发人员将登录功能集成到各个业务服务器中,这样可以在用户登录各个业务服务器时,由业务服务器向用户返回令牌,以保障用户调用资源时的数据安全,避免遭受跨站请求伪造(Cross-site request forgery,CSRF)攻击。然而,上述过程要求每个业务服务器独立实现登录功能,这增加了各个业务服务器的设计复杂度。
发明内容
本申请提供了一种资源调用方法、资源调用装置、客户端、服务器及计算机可读存储介质,可将登陆功能从业务服务器中抽离,使得客户端通过第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
第一方面,本申请提供了一种资源调用方法,应用于客户端,包括:
在所述客户端通过预设的第三方登录服务器登录成功后,接收所述第三方登录服务器下发的Cookie,其中,所述Cookie中包含会话识别码;
生成携带有所述Cookie的令牌请求,并向业务服务器发送所述令牌请求;
接收所述业务服务器基于所述令牌请求所返回的目标令牌,其中,所述目标令牌由所述业务服务器根据所述Cookie所包含的会话识别码而生成;
基于所述目标令牌,调用所述业务服务器的资源。
第二方面,本申请提供了一种资源调用方法,应用于业务服务器,包括:
在客户端通过预设的第三方登录服务器登录成功后,接收所述客户端所发送的令牌请求;
解析所述令牌请求,获得所述令牌请求所携带的Cookie,记作待分配Cookie;
提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;
若所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌,并向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;
基于所述待分配会话识别码及所述目标令牌,更新所述映射表。
第三方面,本申请提供了一种资源调用装置,应用于客户端,包括:
Cookie接收单元,用于在所述客户端通过预设的第三方登录服务器登录成功后,接收所述第三方登录服务器下发的Cookie,其中,所述Cookie中包含会话识别码;
令牌请求生成单元,用于生成携带有所述Cookie的令牌请求;
令牌请求发送单元,用于向业务服务器发送所述令牌请求;
目标令牌接收单元,用于接收所述业务服务器基于所述令牌请求所返回的目标令牌,其中,所述目标令牌由所述业务服务器根据所述Cookie所包含的会话识别码而生成;
服务器资源调用单元,用于基于所述目标令牌,调用所述业务服务器的资源。
第四方面,本申请提供了一种资源调用装置,应用于业务服务器,包括:
令牌请求接收单元,用于在客户端通过预设的第三方登录服务器登录成功后,接收所述客户端所发送的令牌请求;
令牌请求解析单元,用于解析所述令牌请求,获得所述令牌请求所携带的Cookie,记作待分配Cookie;
待分配会话识别码提取单元,用于提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
映射表查询单元,用于基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;
目标令牌生成单元,用于若所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌;
目标令牌发送单元,用于向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;
映射表更新单元,用于基于所述待分配会话识别码及所述目标令牌,更新所述映射表。
第五方面,本申请提供了一种客户端,上述客户端包括第一存储器、第一处理器以及存储在上述第一存储器中并可在上述第一处理器上运行的第一计算机程序,上述第一处理器执行上述第一计算机程序时实现如上述第一方面的方法的步骤。
第六方面,本申请提供了一种业务服务器,上述业务服务器包括第二存储器、第二处理器以及存储在上述第二存储器中并可在上述第二处理器上运行的第二计算机程序,上述第二处理器执行上述第二计算机程序时实现如上述第二方面的方法的步骤。
第七方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤;或者,上述计算机程序被处理器执行时实现如上述第二方面的方法的步骤。
第八方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤;或者,上述计算机程序被一个或多个处理器执行时实现如上述第二方面的方法的步骤。
由上可见,通过本申请实施例,客户端在通过第三方登录服务器登录业务系统后,该第三方登录服务器会向该客户端下发包含有会话识别码的Cookie;并且,客户端还会通过预设的令牌接口从业务服务器中获取本次会话所使用的令牌。通过上述过程,使得客户端与业务服务器进行数据交互时,客户端所采用的Cookie由第三方登录服务器生成,所采用的令牌由业务服务器生成,以方便业务服务器基于上述Cookie及上述令牌对客户端所发送来的业务请求作出验证。通过将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种资源调用方法的实现流程示意图;
图2是本申请实施例提供的另一种资源调用方法的实现流程示意图;
图3是本申请实施例提供的资源调用系统的架构图;
图4是本申请实施例提供的资源调用方法中,客户端、业务服务器及第三方登录服务器的交互流程示意图;
图5是本申请实施例提供的一种资源调用装置的结构框图;
图6是本申请实施例提供的另一种资源调用装置的结构框图;
图7是本申请实施例提供的客户端的结构示意图;
图8是本申请实施例提供的业务服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
实施例一
下面对本申请实施例提供的一种资源调用方法进行描述,其中,本申请实施例所提供的资源调用方法应用于客户端,请参阅图1,该资源调用方法包括:
步骤101,在上述客户端通过预设的第三方登录服务器登录成功后,接收上述第三方登录服务器下发的Cookie;
在本申请实施例中,业务系统可集成有第三方登录系统,其中,业务系统对应有业务服务器,该业务服务器用于提供业务系统的各项资源;第三方登录系统对应有第三方登录服务器,该第三方登录服务器用于为业务系统提供第三方登录功能。这样一来,客户端在登录业务系统时,可通过上述第三方登录系统进行登录,具体表现为:若上述客户端接收到用户输入的第三方登录指令,则上述客户端所显示的页面由业务系统的页面跳转至第三方登录系统的页面;用户在上述第三方登录系统的页面中输入用户名及密码,并点击登录,以使得客户端生成携带有上述用户名及密码的登录请求;上述客户端向上述第三方登录系统所对应的第三方登录服务器发送上述登录请求;上述第三方登录服务器对上述登录请求所携带的用户名及密码进行验证;若验证成功(也即上述登录请求所携带的用户名及密码相匹配),则上述第三方登录服务器通知上述客户端跳转回上述业务系统的页面,并向上述客户端下发Cookie,其中,上述第三方登录服务器向上述客户端所下发的Cookie中包含有会话识别码(sessionID)。具体地,上述客户端可以是浏览器;上述第三方登录服务器可以是微信登录服务器、QQ登录服务器、微博登录服务器、支付宝登录服务器或OPPO登录服务器等,此处不对上述第三方登录服务器作出限定。
步骤102,生成携带有上述Cookie的令牌请求,并向业务服务器发送上述令牌请求;
在本申请实施例中,当客户端接收到第三方登录服务器所下发的Cookie后,若上述客户端希望开始获取业务系统所对应的业务服务器中的相应资源,则需要先调用一预设的令牌接口(也可记作getToken接口),该令牌接口专门用于获取令牌。通过调用上述令牌接口,可生成携带有上述Cookie的令牌请求,并向业务服务器发送上述令牌请求。
步骤103,接收上述业务服务器基于上述令牌请求所返回的目标令牌;
在本申请实施例中,在向业务服务器发送上述令牌请求后,由于上述令牌请求中携带有上述第三方登录服务器所下发的Cookie,而该Cookie中又包含有会话识别码,因而,上述业务服务器可以生成与该会话识别码相关联的令牌,也即目标令牌,并向上述客户端返回上述目标令牌。
步骤104,基于上述目标令牌,调用上述业务服务器的资源。
在本申请实施例中,客户端可以根据上述目标令牌实现对业务服务器的资源调用,具体表现为:客户端基于上述目标令牌及上述Cookie,生成业务请求,并向上述业务服务器发送上述业务请求,以指示上述业务服务器根据上述业务请求调用相应的资源后向上述客户端返回调用结果。
需要注意的是,上述业务请求通常为超文本传输协议(HyperText TransferProtocol,HTTP)请求,上述目标令牌通常被封装于上述业务请求的头域(header)中。
需要注意的是,由于客户端被关闭或者会话(session)过期都会导致会话识别码失效,这需要客户端(在客户端被关闭的情况下,还需要重新启动客户端)再次执行上述步骤101至104,才可继续调用业务服务器的资源。
可选地,通常客户端在第一次向业务服务器发送业务请求前才需要调用上述令牌接口从上述业务服务器获取目标令牌;一旦客户端从上述业务服务器获取到目标令牌,客户端随即会将该目标令牌存储于客户端的本地,以使得后续向业务服务器发送业务请求前可直接从客户端的本地获取该目标令牌。通过上述操作,可避免反复调用上述令牌接口,一定程度上简化了客户端与业务服务器的交互流程。进一步地,客户端还可将上述目标令牌的作用域设置为客户端当前所显示的业务系统的页面。
由上可见,本申请实施例中,客户端在通过第三方登录服务器登录业务系统后,该第三方登录服务器会向该客户端下发包含有会话识别码的Cookie;并且,客户端还会通过预设的令牌接口从业务服务器中获取本次会话所使用的令牌。通过上述过程,使得客户端与业务服务器进行数据交互时,客户端所采用的Cookie由第三方登录服务器生成,所采用的令牌由业务服务器生成,以方便业务服务器基于上述Cookie及上述令牌对客户端所发送来的业务请求作出验证。通过将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
实施例二
下面对本申请实施例提供的一种资源调用方法进行描述,其中,本申请实施例所提供的资源调用方法应用于业务服务器,请参阅图2,该资源调用方法包括:
步骤201,在客户端通过预设的第三方登录服务器登录成功后,接收上述客户端所发送的令牌请求;
在本申请实施例中,业务系统可集成有第三方登录系统,以使得客户端在登录业务系统时,通过上述第三方登录系统所对应的第三方登录服务器进行登录。在上述客户端通过上述第三方登录服务器登录成功后,上述第三方登录服务器可通知上述客户端跳转至上述业务系统的页面,并且,上述第三方登录服务器还会向上述客户端下发一包含有会话识别码的Cookie。客户端在初次调用业务服务器的资源之前,将先通过一预设的令牌接口生成一携带有上述Cookie的令牌请求,并向业务服务器发送该令牌请求。基于此,在上述客户端通过预设的第三方登录服务器登录成功后,业务服务器需先接收上述客户端所发送的令牌请求。
步骤202,解析上述令牌请求,获得上述令牌请求所携带的Cookie,记作待分配Cookie;
步骤203,提取出上述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
在本申请实施例中,由于正常情况下,上述令牌请求所携带的Cookie应为第三方登录服务器向客户端所下发的Cookie;基于此,在业务服务器接收到客户端所发送的令牌请求后,可以先解析该令牌请求,以获得该令牌请求所携带的Cookie,然后再提取出该Cookie所包含的会话识别码。为了便于说明,本申请实施例将令牌请求所携带的Cookie记作待分配Cookie,将上述待分配Cookie所包含的会话识别码记作待分配会话识别码。显然,若业务服务器接收到的令牌请求中未携带有Cookie,或者,若业务服务器接收到的令牌请求中所携带的Cookie不包含会话识别码,则确认上述令牌请求为异常请求。
可选地,为进一步保障数据安全,可在步骤202之前,先通过上述第三方登录服务器对上述令牌请求进行鉴权,具体为将上述令牌请求所携带的待分配Cookie所包含的会话识别码(也即待分配会话识别码)发送至上述第三方登录服务器,由上述第三方登录服务器验证该待分配会话识别码是否有访问业务系统的权利,也即,确认该待分配会话识别码是该第三方登录服务器向客户端所下发的会话识别码,而非客户端捏造的会话识别码;只有在上述令牌请求鉴权成功后,才可执行步骤202的操作及后续操作;否则,若上述令牌请求鉴权失败,则确认上述令牌请求为异常请求。
需要注意的是,在上述令牌请求被确认为异常请求时,业务服务器将忽略该令牌请求,不再执行后续步骤。
步骤204,基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌;
在本申请实施例中,业务服务器的本地预先存储有一预设的映射表,上述映射表存储有会话识别码与令牌之间的映射关系;基于此,业务服务器可以在上述映射表中查询上述待分配会话识别码是否已映射有令牌;也即,查询上述待分配会话识别码是否已在上述映射表中存在映射关系。
步骤205,若上述待分配会话识别码未映射有令牌,则根据上述待分配会话识别码生成目标令牌,并向上述客户端返回上述目标令牌,以指示上述客户端基于上述目标令牌,调用上述业务服务器的资源;
在本申请实施例中,若上述待分配会话识别码未映射有令牌,则表明当前业务服务器还没有为该待分配会话识别码分配过令牌,基于此,业务服务器可以生成一与待分配会话识别码相关联的令牌;也即,业务服务器可以根据上述待分配会话识别码生成目标令牌,上述目标令牌与上述待分配会话识别码相关联。在生成上述目标令牌后,上述业务服务器可向上述客户端返回上述目标令牌,以指示上述客户端基于上述目标令牌,调用上述业务服务器的资源。具体地,上述目标令牌为随机生成的一串字符串。
需要注意的是,在步骤204之后,若查询到上述待分配会话识别码已映射有令牌,则表明业务服务器之前已经为该待分配会话识别码分配过目标令牌了,此时,将忽略该令牌请求,以避免攻击者在窃取到客户端的Cookie后通过再次发送令牌请求窃取到目标令牌。
需要注意的是,由于客户端与业务请求之间往往通过HTTP协议进行数据传输,因而,上述目标令牌通常被封装于令牌应答的头域中,其中,上述令牌应答为业务服务器基于上述令牌请求所作出的应答。
步骤206,基于上述待分配会话识别码及上述目标令牌,更新上述映射表。
在本申请实施例中,每次根据待分配会话识别码生成了目标令牌后,都需要及时基于该待分配会话识别码及该目标令牌对上述映射表进行更新,以表明该待分配会话识别码已被分配过目标令牌,实现对CSRF攻击的防御。
可选地,上述业务服务器还可以为客户端调用其所需的资源,则在上述步骤205之后,上述资源调用方法还包括:
A1、若接收到上述客户端所发送的业务请求,则解析上述业务请求,获得上述业务请求所携带的Cookie及令牌,分别记作待验证Cookie及待验证令牌;
在本申请实施例中,由于正常情况下,上述业务请求应携带有Cookie及令牌,其中,上述业务请求所携带的Cookie应为上述第三方登录服务器向上述客户端所下发的Cookie,上述业务请求所携带的令牌应为上述业务服务器根据上述第三方登录服务器向上述客户端所下发的Cookie中所包含的会话识别码而生成的令牌;基于此,为了准确识别上述业务请求是真实的客户端所发送的业务请求还是攻击者冒用客户端的身份所发送的业务请求,在上述业务服务器接收到上述令牌请求后,可以先解析上述业务请求,以获得上述业务请求所携带的Cookie及令牌。为了便于说明,本申请实施例将上述业务请求所携带的Cookie记作待验证Cookie,将上述业务请求所携带的令牌记作待验证令牌。
A2、基于上述待验证Cookie及上述待验证令牌,对上述业务请求进行验证;
在本申请实施例中,业务服务器可以基于上述待验证Cookie及上述待验证令牌,对上述业务请求进行验证,具体表现为:先提取出上述待验证Cookie所包含的会话识别码,记作待验证会话识别码;随后在上述映射表中,查询上述待验证会话识别码所映射的令牌,记作验证令牌;接着检测上述验证令牌与上述待验证令牌是否相同;若不存在上述验证令牌(也即,在上述映射表中,上述待验证会话识别码未映射有任何令牌),或者,若上述验证令牌与上述待验证令牌不相同,或者,若无法从上述待验证Cookie中提取出会话识别码,则确定上述业务请求验证失败;若上述验证令牌与上述待验证令牌相同,则确定上述业务请求验证成功。也即,只有在上述待验证Cookie所包含的会话识别码在上述映射表中所映射的令牌与上述待验证令牌相同时,才能确定上述业务请求验证成功。
A3、若上述业务请求验证成功,则根据上述业务请求调用相应的资源,并向上述客户端返回调用结果。
在本申请实施例中,只有在上述业务请求验证成功时,才可确定上述业务请求为合法的业务请求,也即,上述业务请求是由真实的客户端所发送的业务请求,而并非攻击者冒用上述客户端的身份所发送的业务请求。此时,可根据上述业务请求调用相应的资源,并向上述客户端返回调用结果。
由上可见,本申请实施例中,在客户端通过第三方登录服务器登录业务系统后,业务服务器可通过其本地所存储的映射表,检测是否曾经为该客户端所发送来的令牌请求中所包含的会话识别码(该会话识别码存储于令牌请求所携带的Cookie中)分配过对应的令牌,若曾经未分配过令牌,则本次可新生成与该会话识别码相关联的目标令牌,并将该目标令牌返回给客户端,以使得客户端后续可通过该目标令牌实现对业务服务器的资源调用;同时,在新生成目标令牌后,业务服务器还会及时对映射表进行更新,以避免攻击者在窃取到客户端的Cookie后通过再次发送令牌请求进行令牌窃取操作。通过上述过程,可将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
实施例三
下面对本申请实施例提供的一种资源调用方法进行描述,其中,本申请实施例所提供的资源调用方法应用于资源调用系统,请参阅图3,该资源调用系统由第三方登录服务器、客户端及业务服务器构成,且第三方登录服务器与客户端,第三方登录服务器与业务服务器,以及客户端与业务服务器之间均存在数据交互。请参阅图4,图4给出了客户端、业务服务器及第三方登录服务器之间交互流程的示例:
首先,客户端(也即真实用户)向第三方登录系统发送登录请求,该登录请求中携带有用户名及密码;第三方登录服务器对用户名及密码进行验证;若用户名及密码验证成功,则为上述客户端分配会话识别码,将该会话识别码写入Cookie中,并向客户端下发该Cookie,同时通知客户端跳转至业务系统的页面;若用户名及密码验证失败,则向客户端发送第一提示信息,以指示用户名或密码错误。
其次,客户端向业务服务器发送令牌请求,该令牌请求携带有上述Cookie,且该Cookie中包含有上述会话识别码;业务服务器接收到上述令牌请求后,向第三方登录服务器发送上述会话识别码,以供第三方登录服务器进行鉴权;若鉴权成功,则业务服务器根据上述会话识别码生成令牌,并建立该令牌及该会话识别码之间的映射关系,将该映射关系存储于映射表中;所生成的上述令牌将被返回给客户端。
最后,客户端保存业务服务器所返回的上述令牌,后续即可基于上述令牌生成业务请求;该业务请求携带有上述Cookie及上述令牌,且该Cookie中包含有上述会话识别码;业务服务器接收到上述业务请求后,会基于上述Cookie中所包含的会话识别码及上述令牌对上述业务请求进行验证;若上述业务请求验证成功,则基于该业务请求调用相应的资源并向客户端返回调用结果;若上述业务请验证失败,则向客户端发送第二提示消息,以指示上述业务请求不合法。
进一步地,上述图4中还给出了攻击者与业务服务器之间交互流程的示例:
若攻击者窃取了第三方登录服务器向客户端所下发的Cookie,其可能也会向业务服务器发送令牌请求,该令牌请求携带有窃取到的Cookie,而该Cookie中所包含的会话识别码正是客户端真实使用的会话识别码;但是,业务服务器在接收到攻击者所发送的令牌请求后,可通过映射表判断出该客户端真实使用的会话识别码已被分配了令牌,此时,业务服务器将不再执行后续操作,避免攻击者窃取到客户端真实使用的令牌。
由上可见,本申请实施例中,客户端在通过第三方登录服务器登录业务系统后,该第三方登录服务器会向该客户端下发包含有会话识别码的Cookie;并且,客户端还会通过预设的令牌接口从业务服务器中获取本次会话所使用的令牌。通过上述过程,使得客户端与业务服务器进行数据交互时,客户端所采用的Cookie由第三方登录服务器生成,所采用的令牌由业务服务器生成,以方便业务服务器基于上述Cookie及上述令牌对客户端所发送来的业务请求作出验证。通过将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时实现在客户端通过第三方登录系统登录业务系统时,仍保障业务服务器的数据安全。
实施例四
本申请实施例四提供了一种资源调用装置,上述资源调用装置应用于客户端,如图5所示,本申请实施例中的资源调用装置500包括:
Cookie接收单元501,用于在上述客户端通过预设的第三方登录服务器登录成功后,接收上述第三方登录服务器下发的Cookie,其中,上述Cookie中包含会话识别码;
令牌请求生成单元502,用于生成携带有上述Cookie的令牌请求;
令牌请求发送单元503,用于向业务服务器发送上述令牌请求;
目标令牌接收单元504,用于接收上述业务服务器基于上述令牌请求所返回的目标令牌,其中,上述目标令牌由上述业务服务器根据上述Cookie所包含的会话识别码而生成;
服务器资源调用单元505,用于基于上述目标令牌,调用上述业务服务器的资源。
可选地,上述资源调用装置500还包括:
目标令牌保存单元,用于在上述目标令牌接收单元504接收上述业务服务器基于上述令牌请求所返回的目标令牌之后,将上述目标令牌存储于上述客户端的本地。
可选地,上述服务器资源调用单元505,包括:
业务请求生成子单元,用于基于上述目标令牌及上述Cookie,生成业务请求;
业务请求发送子单元,用于向上述业务服务器发送上述业务请求,以指示上述业务服务器根据上述业务请求调用相应的资源后向上述客户端返回调用结果。
可选地,上述业务请求生成子单元,具体用于生成携带有上述目标令牌及上述Cookie的业务请求,其中,上述目标令牌被封装于上述业务请求的头域中。
由上可见,本申请实施例中,客户端在通过第三方登录服务器登录业务系统后,该第三方登录服务器会向该客户端下发包含有会话识别码的Cookie;并且,客户端还会通过预设的令牌接口从业务服务器中获取本次会话所使用的令牌。通过上述过程,使得客户端与业务服务器进行数据交互时,客户端所采用的Cookie由第三方登录服务器生成,所采用的令牌由业务服务器生成,以方便业务服务器基于上述Cookie及上述令牌对客户端所发送来的业务请求作出验证。通过将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
实施例五
本申请实施例五提供了一种资源调用装置,上述资源调用装置应用于业务服务器,如图6所示,本申请实施例中的资源调用装置600包括:
令牌请求接收单元601,用于在客户端通过预设的第三方登录服务器登录成功后,接收上述客户端所发送的令牌请求;
令牌请求解析单元602,用于解析上述令牌请求,获得上述令牌请求所携带的Cookie,记作待分配Cookie;
待分配会话识别码提取单元603,用于提取出上述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
映射表查询单元604,用于基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌,其中,上述映射表存储有会话识别码与令牌之间的映射关系,上述映射表存储于业务服务器的本地;
目标令牌生成单元605,用于若上述待分配会话识别码未映射有令牌,则根据上述待分配会话识别码生成目标令牌;
目标令牌发送单元606,用于向上述客户端返回上述目标令牌,以指示上述客户端基于上述目标令牌,调用上述业务服务器的资源;
映射表更新单元607,用于基于上述待分配会话识别码及上述目标令牌,更新上述映射表。
可选地,上述资源调用装置600还包括:
业务请求解析单元,用于在上述目标令牌发送单元606向上述客户端返回上述目标令牌之后,若接收到上述客户端所发送的业务请求,则解析上述业务请求,获得上述业务请求所携带的Cookie及令牌,分别记作待验证Cookie及待验证令牌;
业务请求验证单元,用于基于上述待验证Cookie及上述待验证令牌,对上述业务请求进行验证;
资源调用单元,用于若上述业务请求验证成功,则根据上述业务请求调用相应的资源;
结果返回单元,用于向上述客户端返回调用结果。
可选地,上述业务请求验证单元,包括:
待验证会话识别码提取子单元,用于提取出上述待验证Cookie所包含的会话识别码,记作待验证会话识别码;
验证令牌查询子单元,用于在上述映射表中,查询上述待验证会话识别码所映射的令牌,记作验证令牌;
令牌检测子单元,用于检测上述验证令牌与上述待验证令牌是否相同;
验证结果确定子单元,用于若不存在上述验证令牌,或者,若上述验证令牌与上述待验证令牌不相同,则确定上述业务请求验证失败,若上述验证令牌与上述待验证令牌相同,则确定上述业务请求验证成功。
可选地,上述资源调用装置600还包括:
鉴权单元,用于在上述映射表查询单元604基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌之前,通过上述第三方登录服务器对上述令牌请求进行鉴权;
相应地,上述上述映射表查询单元604,具体用于若上述令牌请求鉴权成功,则基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌。
由上可见,本申请实施例中,在客户端通过第三方登录服务器登录业务系统后,业务服务器可通过其本地所存储的映射表,检测是否曾经为该客户端所发送来的令牌请求中所包含的会话识别码(该会话识别码存储于令牌请求所携带的Cookie中)分配过对应的令牌,若曾经未分配过令牌,则本次可新生成与该会话识别码相关联的目标令牌,并将该目标令牌返回给客户端,以使得客户端后续可通过该目标令牌实现对业务服务器的资源调用;同时,在新生成目标令牌后,业务服务器还会及时对映射表进行更新,以避免攻击者在窃取到客户端的Cookie后通过再次发送令牌请求进行令牌窃取操作。通过上述过程,可将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
实施例六
本申请实施例六提供了一种客户端,请参阅图7,本申请实施例中的客户端7包括:第一存储器701,一个或多个第一处理器702(图7中仅示出一个)及存储在第一存储器701上并可在第一处理器上运行的第一计算机程序。其中:第一存储器701用于存储软件程序以及模块,第一处理器702通过运行存储在第一存储器701的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取预设事件对应的资源。具体地,第一处理器702通过运行存储在第一存储器701的上述第一计算机程序时实现以下步骤:
在上述客户端通过预设的第三方登录服务器登录成功后,接收上述第三方登录服务器下发的Cookie,其中,上述Cookie中包含会话识别码;
生成携带有上述Cookie的令牌请求,并向业务服务器发送上述令牌请求;
接收上述业务服务器基于上述令牌请求所返回的目标令牌,其中,上述目标令牌由上述业务服务器根据上述Cookie所包含的会话识别码而生成;
基于上述目标令牌,调用上述业务服务器的资源。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述接收上述业务服务器基于上述令牌请求所返回的目标令牌之后,第一处理器702通过运行存储在第一存储器701的上述第一计算机程序时还实现以下步骤:
将上述目标令牌存储于上述客户端的本地。
在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述基于上述目标令牌,调用上述业务服务器的资源,包括:
基于上述目标令牌及上述Cookie,生成业务请求;
向上述业务服务器发送上述业务请求,以指示上述业务服务器根据上述业务请求调用相应的资源后向上述客户端返回调用结果。
在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于上述目标令牌及上述Cookie生成业务请求,包括:
上述基于上述目标令牌及上述Cookie,生成业务请求,包括:
生成携带有上述目标令牌及上述Cookie的业务请求,其中,上述目标令牌被封装于上述业务请求的头域中。
应当理解,在本申请实施例中,上述第一处理器702可以是中央处理单元(CentralProcessing Unit,CPU),该第一处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Arra6,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。上述通用处理器可以是微处理器,或者也可以是任何常规的处理器等。
第一存储器701可以包括只读存储器和随机存取存储器,并向第一处理器702提供指令和数据。第一存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,第一存储器701还可以存储设备类别的信息。
由上可见,本申请实施例中,客户端在通过第三方登录服务器登录业务系统后,该第三方登录服务器会向该客户端下发包含有会话识别码的Cookie;并且,客户端还会通过预设的令牌接口从业务服务器中获取本次会话所使用的令牌。通过上述过程,使得客户端与业务服务器进行数据交互时,客户端所采用的Cookie由第三方登录服务器生成,所采用的令牌由业务服务器生成,以方便业务服务器基于上述Cookie及上述令牌对客户端所发送来的业务请求作出验证。通过将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
实施例六
本申请实施例六提供了一种业务服务器,请参阅图8,本申请实施例中的业务服务器8包括:第二存储器801,一个或多个第二处理器802(图8中仅示出一个)及存储在第二存储器801上并可在第二处理器上运行的第二计算机程序。其中:第二存储器801用于存储软件程序以及模块,第二处理器802通过运行存储在第二存储器801的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取预设事件对应的资源。具体地,第二处理器802通过运行存储在第二存储器801的上述第二计算机程序时实现以下步骤:
在上述客户端通过预设的第三方登录服务器登录成功后,接收上述客户端所发送的令牌请求;
解析上述令牌请求,获得上述令牌请求所携带的Cookie,记作待分配Cookie;
提取出上述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌,其中,上述映射表存储有会话识别码与令牌之间的映射关系,上述映射表存储于业务服务器的本地;
若上述待分配会话识别码未映射有令牌,则根据上述待分配会话识别码生成目标令牌,并向上述客户端返回上述目标令牌,以指示上述客户端基于上述目标令牌,调用上述业务服务器的资源;
基于上述待分配会话识别码及上述目标令牌,更新上述映射表。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述向上述客户端返回上述目标令牌之后,第二处理器802通过运行存储在第二存储器801的上述第二计算机程序时还实现以下步骤:
若接收到上述客户端所发送的业务请求,则解析上述业务请求,获得上述业务请求所携带的Cookie及令牌,分别记作待验证Cookie及待验证令牌;
基于上述待验证Cookie及上述待验证令牌,对上述业务请求进行验证;
若上述业务请求验证成功,则根据上述业务请求调用相应的资源,并向上述客户端返回调用结果。
在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述基于上述待验证Cookie及上述待验证令牌,对上述业务请求进行验证,包括:
提取出上述待验证Cookie所包含的会话识别码,记作待验证会话识别码;
在上述映射表中,查询上述待验证会话识别码所映射的令牌,记作验证令牌;
检测上述验证令牌与上述待验证令牌是否相同;
若不存在上述验证令牌,或者,若上述验证令牌与上述待验证令牌不相同,则确定上述业务请求验证失败;
若上述验证令牌与上述待验证令牌相同,则确定上述业务请求验证成功。
在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,在上述基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌之前,第二处理器802通过运行存储在第二存储器801的上述第二计算机程序时还实现以下步骤:
通过上述第三方登录服务器对上述令牌请求进行鉴权;
相应地,上述基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌,包括:
若上述令牌请求鉴权成功,则基于预设的映射表,查询上述待分配会话识别码是否已映射有令牌。
应当理解,在本申请实施例中,上述第二处理器802可以是中央处理单元(CentralProcessing Unit,CPU),该第二处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Arra6,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,或者也可以是任何常规的处理器等。
第二存储器801可以包括只读存储器和随机存取存储器,并向第二处理器802提供指令和数据。第二存储器801的一部分或全部还可以包括非易失性随机存取存储器。例如,第二存储器801还可以存储设备类别的信息。
由上可见,本申请实施例中,在客户端通过第三方登录服务器登录业务系统后,业务服务器可通过其本地所存储的映射表,检测是否曾经为该客户端所发送来的令牌请求中所包含的会话识别码(该会话识别码存储于令牌请求所携带的Cookie中)分配过对应的令牌,若曾经未分配过令牌,则本次可新生成与该会话识别码相关联的目标令牌,并将该目标令牌返回给客户端,以使得客户端后续可通过该目标令牌实现对业务服务器的资源调用;同时,在新生成目标令牌后,业务服务器还会及时对映射表进行更新,以避免攻击者在窃取到客户端的Cookie后通过再次发送令牌请求进行令牌窃取操作。通过上述过程,可将登陆功能从业务服务器中抽离,使得客户端可经第三方登录服务器实现对业务服务器的登录,在降低业务服务器的设计复杂度的同时仍保障业务服务器的数据安全。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
1.一种资源调用方法,其特征在于,所述资源调用方法应用于客户端,包括:
在所述客户端通过预设的第三方登录服务器登录成功后,接收所述第三方登录服务器下发的Cookie,其中,所述Cookie中包含会话识别码;
生成携带有所述Cookie的令牌请求,并向业务服务器发送所述令牌请求;其中,将所述令牌请求发送到业务服务器,业务服务器将所述令牌请求所携带的待分配Cookie所包含的会话识别码发送至所述第三方登录服务器,所述第三方登录服务器验证所述会话识别码是否有访问业务系统的权利,鉴权成功后业务服务器解析所述令牌请求,业务服务器获得所述令牌请求所携带的Cookie,记作待分配Cookie;业务服务器提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;业务服务器基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;业务服务器若查询到所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌,并向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;业务服务器基于所述待分配会话识别码及所述目标令牌,更新所述映射表;业务服务器若查询到所述待分配会话识别码已映射有令牌,则忽略所述令牌请求;
接收所述业务服务器基于所述令牌请求所返回的目标令牌,其中,所述目标令牌由所述业务服务器根据所述Cookie所包含的会话识别码而生成;
基于所述目标令牌,调用所述业务服务器的资源。
2.如权利要求1所述的资源调用方法,其特征在于,在所述接收所述业务服务器基于所述令牌请求所返回的目标令牌之后,所述资源调用方法还包括:
将所述目标令牌存储于所述客户端的本地。
3.如权利要求1或2所述的资源调用方法,其特征在于,所述基于所述目标令牌,调用所述业务服务器的资源,包括:
基于所述目标令牌及所述Cookie,生成业务请求;
向所述业务服务器发送所述业务请求,以指示所述业务服务器根据所述业务请求调用相应的资源后向所述客户端返回调用结果。
4.如权利要求3所述的资源调用方法,其特征在于,所述基于所述目标令牌及所述Cookie,生成业务请求,包括:
生成携带有所述目标令牌及所述Cookie的业务请求,其中,所述目标令牌被封装于所述业务请求的头域中。
5.一种资源调用方法,其特征在于,所述资源调用方法应用于业务服务器,包括:
在客户端通过预设的第三方登录服务器登录成功后,接收所述客户端所发送的令牌请求;其中,客户端接收所述第三方登录服务器下发的Cookie,生成携带有所述Cookie的令牌请求,所述Cookie中包含会话识别码;
将所述令牌请求所携带的待分配Cookie所包含的会话识别码发送至所述第三方登录服务器,所述第三方登录服务器验证所述会话识别码是否有访问业务系统的权利,鉴权成功后,解析所述令牌请求,获得所述令牌请求所携带的Cookie,记作待分配Cookie;
提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;
若所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌,并向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;
基于所述待分配会话识别码及所述目标令牌,更新所述映射表;
若查询到所述待分配会话识别码已映射有令牌,则忽略所述令牌请求。
6.如权利要求5所述的资源调用方法,其特征在于,在所述向所述客户端返回所述目标令牌之后,所述资源调用方法还包括:
若接收到所述客户端所发送的业务请求,则解析所述业务请求,获得所述业务请求所携带的Cookie及令牌,分别记作待验证Cookie及待验证令牌;
基于所述待验证Cookie及所述待验证令牌,对所述业务请求进行验证;
若所述业务请求验证成功,则根据所述业务请求调用相应的资源,并向所述客户端返回调用结果。
7.如权利要求6所述的资源调用方法,其特征在于,所述基于所述待验证Cookie及所述待验证令牌,对所述业务请求进行验证,包括:
提取出所述待验证Cookie所包含的会话识别码,记作待验证会话识别码;
在所述映射表中,查询所述待验证会话识别码所映射的令牌,记作验证令牌;
检测所述验证令牌与所述待验证令牌是否相同;
若不存在所述验证令牌,或者,若所述验证令牌与所述待验证令牌不相同,则确定所述业务请求验证失败;
若所述验证令牌与所述待验证令牌相同,则确定所述业务请求验证成功。
8.如权利要求5至7任一项所述的资源调用方法,其特征在于,在所述基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌之前,所述资源调用方法还包括:
通过所述第三方登录服务器对所述令牌请求进行鉴权;
相应地,所述基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,包括:
若所述令牌请求鉴权成功,则基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌。
9.一种资源调用装置,其特征在于,所述资源调用装置应用于客户端,包括:
Cookie接收单元,用于在所述客户端通过预设的第三方登录服务器登录成功后,接收所述第三方登录服务器下发的Cookie,其中,所述Cookie中包含会话识别码;
令牌请求生成单元,用于生成携带有所述Cookie的令牌请求;
令牌请求发送单元,用于后向业务服务器发送所述令牌请求;其中,将所述令牌请求发送到业务服务器,业务服务器将所述令牌请求所携带的待分配Cookie所包含的会话识别码发送至所述第三方登录服务器,所述第三方登录服务器验证所述会话识别码是否有访问业务系统的权利,鉴权成功后业务服务器解析所述令牌请求,业务服务器获得所述令牌请求所携带的Cookie,记作待分配Cookie;业务服务器提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;业务服务器基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;业务服务器若查询到所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌,并向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;业务服务器基于所述待分配会话识别码及所述目标令牌,更新所述映射表;业务服务器若查询到所述待分配会话识别码已映射有令牌,则忽略所述令牌请求;
目标令牌接收单元,用于接收所述业务服务器基于所述令牌请求所返回的目标令牌,其中,所述目标令牌由所述业务服务器根据所述Cookie所包含的会话识别码而生成;
服务器资源调用单元,用于基于所述目标令牌,调用所述业务服务器的资源。
10.一种资源调用装置,其特征在于,所述资源调用装置应用于业务服务器,包括:
令牌请求接收单元,用于在客户端通过预设的第三方登录服务器登录成功后,接收所述客户端所发送的令牌请求;其中,客户端接收所述第三方登录服务器下发的Cookie,生成携带有所述Cookie的令牌请求,所述Cookie中包含会话识别码;
令牌请求解析单元,用于将所述令牌请求所携带的待分配Cookie所包含的会话识别码发送至所述第三方登录服务器,所述第三方登录服务器验证所述会话识别码是否有访问业务系统的权利,鉴权成功后,解析所述令牌请求,获得所述令牌请求所携带的Cookie,记作待分配Cookie;
待分配会话识别码提取单元,用于提取出所述待分配Cookie所包含的会话识别码,记作待分配会话识别码;
映射表查询单元,用于基于预设的映射表,查询所述待分配会话识别码是否已映射有令牌,其中,所述映射表存储有会话识别码与令牌之间的映射关系,所述映射表存储于业务服务器的本地;
目标令牌生成单元,用于若所述待分配会话识别码未映射有令牌,则根据所述待分配会话识别码生成目标令牌;
目标令牌发送单元,用于向所述客户端返回所述目标令牌,以指示所述客户端基于所述目标令牌,调用所述业务服务器的资源;
映射表更新单元,用于基于所述待分配会话识别码及所述目标令牌,更新所述映射表;
所述资源调用装置还用于若查询到所述待分配会话识别码已映射有令牌,则忽略所述令牌请求。
11.一种客户端,包括第一存储器、第一处理器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现如权利要求1至4任一项所述的方法。
12.一种业务服务器,包括第二存储器、第二处理器以及存储在所述第二存储器中并可在所述第二处理器上运行的第二计算机程序,其特征在于,所述第二处理器执行所述第二计算机程序时实现如权利要求5至8任一项所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法;或者,所述计算机程序被处理器执行时实现如权利要求5至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328054.6A CN111371811B (zh) | 2020-04-23 | 2020-04-23 | 一种资源调用方法、资源调用装置、客户端及业务服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328054.6A CN111371811B (zh) | 2020-04-23 | 2020-04-23 | 一种资源调用方法、资源调用装置、客户端及业务服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371811A CN111371811A (zh) | 2020-07-03 |
CN111371811B true CN111371811B (zh) | 2022-08-09 |
Family
ID=71212203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328054.6A Active CN111371811B (zh) | 2020-04-23 | 2020-04-23 | 一种资源调用方法、资源调用装置、客户端及业务服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371811B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866247B (zh) * | 2022-04-18 | 2024-01-02 | 杭州海康威视数字技术股份有限公司 | 一种通信方法、装置、系统、终端及服务器 |
CN115834252B (zh) * | 2023-02-09 | 2023-05-26 | 中国证券登记结算有限责任公司 | 一种服务访问方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320423A (zh) * | 2014-11-19 | 2015-01-28 | 重庆邮电大学 | 基于Cookie的单点登录轻量级实现方法 |
CN107347068A (zh) * | 2017-07-10 | 2017-11-14 | 恒生电子股份有限公司 | 单点登录方法及系统、电子设备 |
CN109218389A (zh) * | 2018-07-05 | 2019-01-15 | 东软集团股份有限公司 | 处理业务请求的方法、装置和存储介质以及电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702794B1 (en) * | 2004-11-16 | 2010-04-20 | Charles Schwab & Co. | System and method for providing silent sign on across distributed applications |
US8527774B2 (en) * | 2009-05-28 | 2013-09-03 | Kaazing Corporation | System and methods for providing stateless security management for web applications using non-HTTP communications protocols |
CN103179134A (zh) * | 2013-04-19 | 2013-06-26 | 中国建设银行股份有限公司 | 基于Cookie的单点登录方法、系统及其应用服务器 |
CN104580074B (zh) * | 2013-10-14 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 客户端应用的登录方法及其相应的服务器 |
WO2015122009A1 (ja) * | 2014-02-17 | 2015-08-20 | 富士通株式会社 | サービス提供方法、サービス要求方法、情報処理装置、及び、クライアント装置 |
US10375053B2 (en) * | 2016-09-09 | 2019-08-06 | Microsoft Technology Licensing, Llc | Cross-platform single sign-on accessibility of a productivity application within a software as a service platform |
CN108600203B (zh) * | 2018-04-11 | 2021-05-14 | 四川长虹电器股份有限公司 | 基于Cookie的安全单点登录方法及其统一认证服务系统 |
US11303627B2 (en) * | 2018-05-31 | 2022-04-12 | Oracle International Corporation | Single Sign-On enabled OAuth token |
CN110177120A (zh) * | 2019-06-14 | 2019-08-27 | 北京首都在线科技股份有限公司 | 一种单点登录的方法、装置及计算机可读存储介质 |
CN110519240B (zh) * | 2019-08-09 | 2021-04-27 | 浙江大搜车软件技术有限公司 | 一种单点登录方法、装置及系统 |
CN110708281B (zh) * | 2019-08-26 | 2022-07-22 | 上海商米科技集团股份有限公司 | 业务请求处理方法及装置 |
-
2020
- 2020-04-23 CN CN202010328054.6A patent/CN111371811B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320423A (zh) * | 2014-11-19 | 2015-01-28 | 重庆邮电大学 | 基于Cookie的单点登录轻量级实现方法 |
CN107347068A (zh) * | 2017-07-10 | 2017-11-14 | 恒生电子股份有限公司 | 单点登录方法及系统、电子设备 |
CN109218389A (zh) * | 2018-07-05 | 2019-01-15 | 东软集团股份有限公司 | 处理业务请求的方法、装置和存储介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111371811A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196950B (zh) | 校验方法、装置及服务端 | |
CN109309666A (zh) | 一种网络安全中的接口安全控制方法及终端设备 | |
CN107046544B (zh) | 一种识别对网站的非法访问请求的方法和装置 | |
CN111556006A (zh) | 第三方应用系统登录方法、装置、终端及sso服务平台 | |
CN110808840B (zh) | 业务处理方法及装置、电子设备、存储介质 | |
CN109639723A (zh) | 一种基于erp系统的微服务访问方法及服务器 | |
CN110795174B (zh) | 一种应用程序接口调用方法、装置、设备及可读存储介质 | |
US20180091355A1 (en) | Single sign-on system and single sign-on method | |
CN109861968A (zh) | 资源访问控制方法、装置、计算机设备及存储介质 | |
CN110213263B (zh) | 基于联盟区块链的身份验证方法、设备及存储介质 | |
US11770385B2 (en) | Systems and methods for malicious client detection through property analysis | |
CN109981664A (zh) | 网页端的网站登录方法、装置及实现装置 | |
CN108900561A (zh) | 单点登录的方法、装置及系统 | |
CN111371811B (zh) | 一种资源调用方法、资源调用装置、客户端及业务服务器 | |
CN112131564A (zh) | 加密数据通信方法、装置、设备以及介质 | |
WO2023077999A1 (zh) | 一种应用访问控制方法、装置、计算机设备及存储介质 | |
WO2021078062A1 (zh) | Ssl证书校验方法、装置、设备及计算机存储介质 | |
KR101658450B1 (ko) | 웹 애플리케이션 서버로부터 수집된 트랜잭션 정보 및 고유세션 id 통한 사용자 식별을 이용한 보안장치. | |
CN110289969B (zh) | 一种采用加密签名和加速解析防止dns被劫持的方法 | |
CN112583606B (zh) | 安全校验方法及服务器、终端、存储介质 | |
CN116996238A (zh) | 一种网络异常访问的处理方法以及相关装置 | |
CN110995756B (zh) | 调用服务的方法和装置 | |
CN113626789A (zh) | 用户操作请求的处理方法、装置及电子设备 | |
CN112748960A (zh) | 一种进程控制方法、装置、电子设备及存储介质 | |
CN111814130A (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 |