CN112995219A - 一种单点登录方法、装置、设备及存储介质 - Google Patents
一种单点登录方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112995219A CN112995219A CN202110487740.2A CN202110487740A CN112995219A CN 112995219 A CN112995219 A CN 112995219A CN 202110487740 A CN202110487740 A CN 202110487740A CN 112995219 A CN112995219 A CN 112995219A
- Authority
- CN
- China
- Prior art keywords
- server
- oauth
- authentication
- cas
- login
- 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
-
- 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
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种单点登录方法、装置、设备及存储介质,包括:用户浏览器请求登录第三方集成认证服务器,第三方集成认证服务器判定用户浏览器对应的目标用户未进行CAS认证,CAS服务器利用目标用户的登录信息进行CAS认证;CAS认证通过后,第三方集成认证服务器获取登录信息中的登录账号,生成与登录账号对应的临时密码,将登录账号及临时密码发送至用户浏览器;用户浏览器将登录账号及临时密码发送至OAuth服务器,OAuth服务器基于自身接收到的登录账号及临时密码进行OAuth认证;OAuth认证通过后,OAuth服务器生成与用户浏览器对应的令牌,将令牌存储至用户浏览器,以便用户浏览器利用令牌对OAuth应用进行访问。能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种单点登录方法、装置、设备及存储介质。
背景技术
在信息化高速发展下,系统集成是将分散功能和信息等集成到相互关联的、统一和协调的系统之中,使资源达到充分共享,实现集中、高效、便利管理的关键之举。特别是在高校信息化中,由于一个系统一套用户、系统之间用户不一致、跨多个系统业务需要使用多个账号在不同的地址进行登录等问题,系统集成已成为高校信息化管理的重要组成部分。许多高校都可以实现单点登录(Single Sign On,SSO),但基本都使用CAS协议,也即即使进行了CAS认证后,登录OAuth应用时还需要再次输入账号和密码,难以实现两种协议的融合。
随着面向服务的架构(Service-Oriented Architecture,SOA)、远程过程调用协议(Remote Procedure Call Protocol,RPC)、微服务技术的发展和普及,越来越多的企业开始将技术架构转向微服务。微服务将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于RESTful API),而CAS认证机制不适合AJAX和RESTful这种前后端分离的数据请求模式。CAS认证服务与新建业务系统通常为不同厂商为高校提供的。
鉴于此,为了解决高校一站式服务大厅对已有系统和新建系统实现一次登录访问所有系统需求,可以同时登录CAS和OAuth两个协议的方法是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种单点登录方法、装置、设备及存储介质,能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。其具体方案如下:
本申请的第一方面提供了一种单点登录方法,包括:
用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;
CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;
所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;
OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
可选的,所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,包括:
所述第三方集成服务器判断自身存储的session中是否包含与所述用户浏览器对应的session,如果否,则判定所述用户浏览器对应的目标用户未进行CAS认证。
可选的,所述CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证,包括:
所述用户浏览器重定向至CAS服务器登录界面,所述CAS服务器通过所述登录界面获取并验证所述目标用户的登录信息,若所述登录信息验证通过,则生成相应的票据并将所述票据存储至CAS服务域的cookie中;
所述CAS服务器通过判断所述票据的有效性对所述目标用户进行CAS认证。
可选的,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码之后,还包括:
所述第三方集成认证服务器将所述登录账号及所述临时密码以键值对的方式通过远程字典服务进行存储,并设置有效时间,超过所述有效时间则所述临时密码处于失效状态。
可选的,所述第三方集成认证服务器将所述登录账号及所述临时密码发送至所述用户浏览器,包括:
所述第三方集成服务器获取待登录OAuth应用的应用名,并根据所述应用名得到所述待登录OAuth应用的登录地址;
所述第三方集成服务器基于所述登录地址生成携带有所述登录账号及所述临时密码的与所述登录地址对应的重定向地址,并将所述重定向地址返回至所述用户浏览器。
可选的,所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证,包括:
所述用户浏览器通过所述重定向地址将所述登录账号及所述临时密码发送至OAuth服务器;
所述OAuth服务器从所述远程字典服务中获取与自身接收到的所述登录账号一致的登录账号对应的所述临时密码,并判断所述临时密码与自身接收到的所述临时密码是否一致,如果是,则OAuth认证通过。
可选的,所述单点登录方法,还包括:
利用ETL工具将CAS存储中的登录账号与OAuth存储中的登录账号进行定时同步。
本申请的第二方面提供了一种单点登录装置,包括:
CAS认证模块,用于用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;
临时密码生成模块,用于在CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;
OAuth认证模块,用于所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;
令牌生成模块,用于在OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述单点登录方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述单点登录方法。
本申请中,用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。本申请中,CAS服务器和OAuth服务器通过第三方集成认证服务器进行交互,能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种单点登录方法流程图;
图2为本申请提供的一种单点登录的架构设计图;
图3为本申请提供的一种首次进行单点登录的方法时序图;
图4为本申请提供的一种登录后首次访问新CAS应用的时序图;
图5为本申请提供的一种登录后首次访问新OAuth应用的时序图;
图6为本申请提供的一种单点登录装置结构示意图;
图7为本申请提供的一种单点登录电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的信息化集成系统提供了CAS、OAuth两种协议,但同一时间只能使用一种协议,也即即使进行了CAS认证后,登录OAuth应用时还需要再次输入账号和密码,难以实现两种协议的融合。针对上述技术缺陷,本申请实施例提供一种可以跨服务、应用、系统及跨厂商的单点登录方案,该方案中CAS服务器和OAuth服务器通过第三方集成认证服务器进行交互,能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。
图1为本申请实施例提供的一种单点登录方法流程图,图2为相应的架构设计图。参见图1和图2所示,该单点登录方法包括:
S11:用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器。
本实施例中,所述单点登录就是通过用户的一次性鉴别登录,当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。CAS(CentralAuthentication Service)中央认证服务是一种独立开放指令协议。本实施例中的OAuth服务统一指OAuth协议的延续版本OAuth2.0,关注客户端开发者的简易性,要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限,同时为Web应用、桌面应用、手机及起居室设备提供专门的认证流程。所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器,可以表示为auth-cas,能够同时登录CAS和OAuth2.0协议的服务。由于本方案是基于用户登录账号将CAS认证和OAuth认证进行集成,因此需要利用ETL工具将CAS存储中的登录账号与OAuth存储中的登录账号进行定时同步,具体如图2所示。
本实施例是针对首次进行单点登录的用户的处理流程,具体如图3所示。用户浏览器请求登录第三方集成认证服务器,所述第三方集成服务器判断自身存储的session中是否包含与所述用户浏览器对应的session,如果否,则判定所述用户浏览器对应的目标用户未进行CAS认证。在判定所述用户浏览器对应的目标用户未进行CAS认证的情况下,所述用户浏览器重定向至CAS服务器登录界面,所述CAS服务器通过所述登录界面获取并验证所述目标用户的登录信息,若所述登录信息验证通过,则生成相应的票据并将所述票据存储至CAS服务域的cookie中,接着所述CAS服务器通过判断所述票据的有效性对所述目标用户进行CAS认证。具体的,用户使用浏览器访问auth-cas登录地址,auth-cas通过session判断当前用户未登录CAS于是重定向到CAS服务登录地址。然后浏览器访问CAS服务登录地址,CAS服务返回登录页面,等待用户输入CAS账号和密码。用户在登录页面提交CAS账号及密码到CAS服务,CAS服务验证账号密码通过后生成TGT、TGC和当次ST,并返回TGC到浏览器并成功定向到auth-cas首页携带ticket(ST)。TGC存入CAS服务域的Cookie中。浏览器访问auth-cas首页携带ticket,auth-cas中过滤器获取ticket,并去CAS服务验证ticket有效性。CAS服务接收到ticket之后,验证ticket是否有效,验证通过则返回有效结果至auth-cas,并携带登录时的用户账号。
可以理解,TGC为session的唯一标识sessionId,CAS会将生成的TGT放在session中,而TGC就是这个session的sessionId,该sessionId可以认为是TGT的key,TGT为TGC的value,TGC以Cookie的形式保存在浏览器中,每个请求都会尝试携带 TGC。TGT是CAS为用户签发的登录ticket,也是用于验证用户登录成功的唯一方式。TGT封装了Cookie值以及Cookie值对应的用户信息,CAS通过Cookie值(TGC)为key查询缓存中有无TGT(TGC:TGT(key:value)),如果有的话就说明用户已经登录成功。ST是当用户访问某一CAS应用时提供的 ticket。用户在访问其他CAS应用时,发现没有Cookie(也即没有session和sessionId)或ST,那么就会重定向到CAS服务器获取ST,然后会携带着ST重定向回来。
S12:CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器。
本实施例中,CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器。具体的,auth-cas获取到ticket有效后将登录信息存入session,auth-cas控制器获取当前登录账号,并为当前登录账号随机生成临时密码。可以利用UUID(Universally Unique Identifier),算法生成临时密码,临时密码与登录CAS应用的密码及登录OAuth2.0应用的密码均无关,即使被窃取也不会泄露用户登录的真实密码信息。
另外,所述第三方集成认证服务器将所述登录账号及所述临时密码发送至所述用户浏览器的过程包括:首先,所述第三方集成服务器获取待登录OAuth应用的应用名,并根据所述应用名得到所述待登录OAuth应用的登录地址;然后,所述第三方集成服务器基于所述登录地址生成携带有所述登录账号及所述临时密码的与所述登录地址对应的重定向地址,并将所述重定向地址返回至所述用户浏览器。
更进一步的,在所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码之后,还可以包括所述第三方集成认证服务器将所述登录账号及所述临时密码以键值对的方式通过远程字典服务进行存储,并设置有效时间,超过所述有效时间则所述临时密码处于失效状态。也即,auth-cas将账号和临时密码以键值对的形式存入远程字典服务(Remote Dictionary Server,redis)缓存,默认5秒有效时间,超过有效时间临时密码失效,这意味着之后登录OAuth2.0的操作必须在上述有效时间内完成。
S13:所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证。
本实施例中,在前述实施例的基础上,针对OAuth认证的过程具体可以分为两个步骤,首先所述用户浏览器通过所述第三方集成服务器发送的所述重定向地址将所述登录账号及所述临时密码发送至OAuth服务器;然后所述OAuth服务器从所述远程字典服务中获取与自身接收到的所述登录账号一致的登录账号对应的所述临时密码,并判断所述临时密码与自身接收到的所述临时密码是否一致,如果是,则OAuth认证通过。换句话说,也即auth-cas获取所述待登录OAuth2.0应用地址,浏览器通过该地址重定向到OAuth2.0应用地址并以参数形式携带账号和临时密码。浏览器访问OAuth2.0应用地址,JS代码自动获取地址中的账号和临时密码,JS使用账号和临时密码自动访问OAuth2.0登录地址。OAuth2.0服务接到登录请求后获取浏览器传来的账号和临时密码,通过账号从redis获取auth-cas存入的临时密码,对比浏览器传来的临时密码和auth-cas存入的临时密码是否一致,一致则获取用户详细信息,此时,OAuth认证成功。
需要说明的是,auth-cas中可以配置多个OAuth2.0应用,应用名与应用首页地址以键值对的形式存在。当无法获取OAuth2.0的应用名时,一般重定向至默认OAuth2.0应用首页地址,默认应用名为default,通过键default即可获取到默认应用首页地址。默认应用一般为“一站式服务大厅”,也即所有应用服务的统一访问入口。
S14:OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
本实施例中,OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。为了提高数据传输的安全性,可以使用RSA非对称加密算法生成令牌token,返回给浏览器。浏览器接收到OAuth2.0登录返回后,将令牌token存入OAuth2.0应用域的Cookie中,OAuth2.0应用之后所有请求都将携带令牌token。
在一种实施例中,当用户通过浏览器访问新的CAS应用时,新的CAS应用接收到请求后,检查session发现未登录,返回重定向到CAS登录地址,执行与步骤S11相同的步骤。具体如图4所示,浏览器访问CAS登录地址携带Cookie中的TGC,CAS服务接收到请求后获取TGC,使用TGC获取TGT,使用TGT生成ST。返回重定向到新的CAS应用地址并携带ticket(ST)。浏览器访问新的CAS应用地址携带ticket,新的CAS应用中过滤器获取ticket,并通过CAS服务验证ticket有效性。CAS服务接收到ticket之后,验证ticket是否有效,验证通过返回结果告诉新的CAS应用该ticket有效,并携带登录的用户账号。新的CAS应用收到ticket有效后将登录信息存入session,返回访问页面到浏览器。之后浏览器访问新的CAS应用时都会通过Cookie携带sessionid。
在另一种实施例中,当用户通过浏览器访问新OAuth2.0应用时,访问auth-cas首页地址携带新OAuth2.0应用名。具体如图5所示,auth-cas过滤器获取新OAuth2.0应用名,存入session。通过session获取当前登录CAS的账号,为账号随机生成临时密码。auth-cas将账号和临时密码以键值对的形式存入redis缓存。auth-cas获取session中新OAuth2.0应用名,并从配置中获取新OAuth2.0应用的首页地址,重定向到新OAuth2.0应用首页地址并以参数形式携带账号和临时密码。浏览器访问新OAuth2.0应用首页地址,JS代码自动获取地址中的账号和临时密码,JS使用账号和临时密码自动访问OAuth2.0登录地址。OAuth2.0服务接到登录请求后获取浏览器传来的账号和临时密码,通过账号从redis获取auth-cas存入的临时密码,对比浏览器传来的临时密码和auth-cas存入的临时密码是否一致,一致则获取用户详细信息,使用RSA加密生成token,返回给浏览器。浏览器接收到OAuth2.0登录返回后,将token存入新OAuth2.0应用域的Cookie中,新OAuth2.0应用之后所有请求都将携带token。
可见,本申请实施例中,用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。本申请实施例中,CAS服务器和OAuth服务器通过第三方集成认证服务器进行交互,能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。
参见图6所示,本申请实施例还相应公开了一种单点登录装置,包括:
CAS认证模块11,用于用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;
临时密码生成模块12,用于在CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;
OAuth认证模块13,用于所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;
令牌生成模块14,用于在OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
可见,本申请实施例中,用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。本申请实施例中,CAS服务器和OAuth服务器通过第三方集成认证服务器进行交互,能够在保证登录账号一致的情况下,同时进行CAS认证和OAuth认证。
在一些具体实施例中,所述CAS认证模块11,具体包括:
判定单元,用于所述第三方集成服务器判断自身存储的session中是否包含与所述用户浏览器对应的session,如果否,则判定所述用户浏览器对应的目标用户未进行CAS认证;
第一重定向单元,用于所述用户浏览器重定向至CAS服务器登录界面,所述CAS服务器通过所述登录界面获取并验证所述目标用户的登录信息,若所述登录信息验证通过,则生成相应的票据并将所述票据存储至CAS服务域的cookie中;
第一判断单元,用于所述CAS服务器通过判断所述票据的有效性对所述目标用户进行CAS认证。
在一些具体实施例中,所述单点登录装置还包括:
存储模块,用于所述第三方集成认证服务器将所述登录账号及所述临时密码以键值对的方式通过远程字典服务进行存储,并设置有效时间,超过所述有效时间则所述临时密码处于失效状态;
同步模块,用于利用ETL工具将CAS存储中的登录账号与OAuth存储中的登录账号进行定时同步;
相应的,所述临时密码生成模块12,具体包括:
获取单元,用于所述第三方集成服务器获取待登录OAuth应用的应用名,并根据所述应用名得到所述待登录OAuth应用的登录地址;
返回单元,用于所述第三方集成服务器基于所述登录地址生成携带有所述登录账号及所述临时密码的与所述登录地址对应的重定向地址,并将所述重定向地址返回至所述用户浏览器;
相应的,所述OAuth认证模块13,具体包括:
第二重定向单元,用于所述用户浏览器通过所述重定向地址将所述登录账号及所述临时密码发送至OAuth服务器;
第二判断单元,用于所述OAuth服务器从所述远程字典服务中获取与自身接收到的所述登录账号一致的登录账号对应的所述临时密码,并判断所述临时密码与自身接收到的所述临时密码是否一致,如果是,则OAuth认证通过。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的单点登录方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的单点登录方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的登录信息。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的单点登录方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的单点登录方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种单点登录方法,其特征在于,包括:
用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;
CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;
所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;
OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
2.根据权利要求1所述的单点登录方法,其特征在于,所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,包括:
所述第三方集成服务器判断自身存储的session中是否包含与所述用户浏览器对应的session,如果否,则判定所述用户浏览器对应的目标用户未进行CAS认证。
3.根据权利要求1所述的单点登录方法,其特征在于,所述CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证,包括:
所述用户浏览器重定向至CAS服务器登录界面,所述CAS服务器通过所述登录界面获取并验证所述目标用户的登录信息,若所述登录信息验证通过,则生成相应的票据并将所述票据存储至CAS服务域的cookie中;
所述CAS服务器通过判断所述票据的有效性对所述目标用户进行CAS认证。
4.根据权利要求1所述的单点登录方法,其特征在于,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码之后,还包括:
所述第三方集成认证服务器将所述登录账号及所述临时密码以键值对的方式通过远程字典服务进行存储,并设置有效时间,超过所述有效时间则所述临时密码处于失效状态。
5.根据权利要求4所述的单点登录方法,其特征在于,所述第三方集成认证服务器将所述登录账号及所述临时密码发送至所述用户浏览器,包括:
所述第三方集成服务器获取待登录OAuth应用的应用名,并根据所述应用名得到所述待登录OAuth应用的登录地址;
所述第三方集成服务器基于所述登录地址生成携带有所述登录账号及所述临时密码的与所述登录地址对应的重定向地址,并将所述重定向地址返回至所述用户浏览器。
6.根据权利要求5所述的单点登录方法,其特征在于,所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证,包括:
所述用户浏览器通过所述重定向地址将所述登录账号及所述临时密码发送至OAuth服务器;
所述OAuth服务器从所述远程字典服务中获取与自身接收到的所述登录账号一致的登录账号对应的所述临时密码,并判断所述临时密码与自身接收到的所述临时密码是否一致,如果是,则OAuth认证通过。
7.根据权利要求1至6任一项所述的单点登录方法,其特征在于,还包括:
利用ETL工具将CAS存储中的登录账号与OAuth存储中的登录账号进行定时同步。
8.一种单点登录装置,其特征在于,包括:
CAS认证模块,用于用户浏览器请求登录第三方集成认证服务器,若所述第三方集成认证服务器判定所述用户浏览器对应的目标用户未进行CAS认证,则CAS服务器利用所述目标用户的登录信息对所述目标用户进行CAS认证;其中,所述第三方集成认证服务器为能够同时进行CAS认证和OAuth认证的服务器;
临时密码生成模块,用于在CAS认证通过后,所述第三方集成认证服务器获取所述登录信息中的登录账号,以生成与所述登录账号对应的临时密码,并将所述登录账号及所述临时密码发送至所述用户浏览器;
OAuth认证模块,用于所述用户浏览器将接收到的所述登录账号及所述临时密码发送至OAuth服务器,所述OAuth服务器基于自身接收到的所述登录账号及所述临时密码进行OAuth认证;
令牌生成模块,用于在OAuth认证通过后,所述OAuth服务器生成与所述用户浏览器对应的令牌,并将所述令牌存储至所述用户浏览器,以便所述用户浏览器利用所述令牌对OAuth应用进行访问。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的单点登录方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的单点登录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110487740.2A CN112995219B (zh) | 2021-05-06 | 2021-05-06 | 一种单点登录方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110487740.2A CN112995219B (zh) | 2021-05-06 | 2021-05-06 | 一种单点登录方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995219A true CN112995219A (zh) | 2021-06-18 |
CN112995219B CN112995219B (zh) | 2021-08-20 |
Family
ID=76336988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110487740.2A Active CN112995219B (zh) | 2021-05-06 | 2021-05-06 | 一种单点登录方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995219B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553569A (zh) * | 2021-07-06 | 2021-10-26 | 猪八戒股份有限公司 | 基于代理服务器的海波龙系统单点登录方法、系统及终端 |
CN113965357A (zh) * | 2021-09-28 | 2022-01-21 | 网宿科技股份有限公司 | 跨域网站登录状态同步方法、电子设备及存储介质 |
CN114124530A (zh) * | 2021-11-23 | 2022-03-01 | 中国银行股份有限公司 | 跨境撮合系统的自动登录方法及装置 |
CN114157434A (zh) * | 2021-11-30 | 2022-03-08 | 中国光大银行股份有限公司 | 登录验证方法、装置、电子设备及存储介质 |
CN114422258A (zh) * | 2022-01-25 | 2022-04-29 | 百安居信息技术(上海)有限公司 | 一种基于多认证协议的单点登录方法、介质及电子设备 |
CN115150141A (zh) * | 2022-06-22 | 2022-10-04 | 青岛海信网络科技股份有限公司 | 一种单点登录方法以及单点管理设备 |
CN116074129A (zh) * | 2023-04-06 | 2023-05-05 | 广东电网有限责任公司佛山供电局 | 一种集成与兼容第三方认证的登录方法及系统 |
CN117319087A (zh) * | 2023-11-28 | 2023-12-29 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877637A (zh) * | 2009-04-30 | 2010-11-03 | 中国移动通信集团江西有限公司 | 单点登录方法及单点登录系统 |
EP2809042A1 (en) * | 2013-05-29 | 2014-12-03 | Telefonica Digital España, S.L.U. | Method for authenticate a user associated to a user agent implemented over SIP protocol |
US20160094531A1 (en) * | 2014-09-29 | 2016-03-31 | Microsoft Technology Licensing, Llc | Challenge-based authentication for resource access |
CN105959267A (zh) * | 2016-04-25 | 2016-09-21 | 北京九州云腾科技有限公司 | 单点登录技术中的主令牌获取方法、单点登录方法及系统 |
CN109815656A (zh) * | 2018-12-11 | 2019-05-28 | 平安科技(深圳)有限公司 | 登录认证方法、装置、设备及计算机可读存储介质 |
CN110704820A (zh) * | 2019-09-30 | 2020-01-17 | 北京金山云网络技术有限公司 | 登录处理方法、装置、电子设备和计算机可读存储介质 |
CN110944021A (zh) * | 2019-12-31 | 2020-03-31 | 安徽信息工程学院 | 校园统一认证和单点登录的方法和系统 |
-
2021
- 2021-05-06 CN CN202110487740.2A patent/CN112995219B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877637A (zh) * | 2009-04-30 | 2010-11-03 | 中国移动通信集团江西有限公司 | 单点登录方法及单点登录系统 |
EP2809042A1 (en) * | 2013-05-29 | 2014-12-03 | Telefonica Digital España, S.L.U. | Method for authenticate a user associated to a user agent implemented over SIP protocol |
US20160094531A1 (en) * | 2014-09-29 | 2016-03-31 | Microsoft Technology Licensing, Llc | Challenge-based authentication for resource access |
CN105959267A (zh) * | 2016-04-25 | 2016-09-21 | 北京九州云腾科技有限公司 | 单点登录技术中的主令牌获取方法、单点登录方法及系统 |
CN109815656A (zh) * | 2018-12-11 | 2019-05-28 | 平安科技(深圳)有限公司 | 登录认证方法、装置、设备及计算机可读存储介质 |
CN110704820A (zh) * | 2019-09-30 | 2020-01-17 | 北京金山云网络技术有限公司 | 登录处理方法、装置、电子设备和计算机可读存储介质 |
CN110944021A (zh) * | 2019-12-31 | 2020-03-31 | 安徽信息工程学院 | 校园统一认证和单点登录的方法和系统 |
Non-Patent Citations (1)
Title |
---|
侯震: "面向园区的统一身份认证与开放授权系统的研究与实现", 《中国优秀硕士学位论文数据库(电子期刊)》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553569B (zh) * | 2021-07-06 | 2022-12-09 | 猪八戒股份有限公司 | 基于代理服务器的海波龙系统单点登录方法、系统及终端 |
CN113553569A (zh) * | 2021-07-06 | 2021-10-26 | 猪八戒股份有限公司 | 基于代理服务器的海波龙系统单点登录方法、系统及终端 |
CN113965357B (zh) * | 2021-09-28 | 2023-10-17 | 网宿科技股份有限公司 | 跨域网站登录状态同步方法、电子设备及存储介质 |
CN113965357A (zh) * | 2021-09-28 | 2022-01-21 | 网宿科技股份有限公司 | 跨域网站登录状态同步方法、电子设备及存储介质 |
CN114124530A (zh) * | 2021-11-23 | 2022-03-01 | 中国银行股份有限公司 | 跨境撮合系统的自动登录方法及装置 |
CN114124530B (zh) * | 2021-11-23 | 2024-04-19 | 中国银行股份有限公司 | 跨境撮合系统的自动登录方法及装置 |
CN114157434A (zh) * | 2021-11-30 | 2022-03-08 | 中国光大银行股份有限公司 | 登录验证方法、装置、电子设备及存储介质 |
CN114422258A (zh) * | 2022-01-25 | 2022-04-29 | 百安居信息技术(上海)有限公司 | 一种基于多认证协议的单点登录方法、介质及电子设备 |
CN115150141A (zh) * | 2022-06-22 | 2022-10-04 | 青岛海信网络科技股份有限公司 | 一种单点登录方法以及单点管理设备 |
CN115150141B (zh) * | 2022-06-22 | 2024-03-08 | 青岛海信网络科技股份有限公司 | 一种单点登录方法以及单点管理设备 |
CN116074129A (zh) * | 2023-04-06 | 2023-05-05 | 广东电网有限责任公司佛山供电局 | 一种集成与兼容第三方认证的登录方法及系统 |
CN116074129B (zh) * | 2023-04-06 | 2023-06-02 | 广东电网有限责任公司佛山供电局 | 一种集成与兼容第三方认证的登录方法及系统 |
CN117319087A (zh) * | 2023-11-28 | 2023-12-29 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
CN117319087B (zh) * | 2023-11-28 | 2024-02-27 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112995219B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112995219B (zh) | 一种单点登录方法、装置、设备及存储介质 | |
CN112597472B (zh) | 单点登录方法、装置及存储介质 | |
US9787664B1 (en) | Methods systems and articles of manufacture for implementing user access to remote resources | |
US9143502B2 (en) | Method and system for secure binding register name identifier profile | |
JP5052523B2 (ja) | フェデレーション内のプリンシパルの認証 | |
US7631346B2 (en) | Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment | |
US7657639B2 (en) | Method and system for identity provider migration using federated single-sign-on operation | |
JP5357246B2 (ja) | 統合認証のためのシステム、方法およびプログラム製品 | |
US7860883B2 (en) | Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments | |
JP4579546B2 (ja) | 単一サインオンサービスにおけるユーザ識別子の取り扱い方法及び装置 | |
US9519777B2 (en) | Techniques for controlling authentication | |
US7860882B2 (en) | Method and system for distributed retrieval of data objects using tagged artifacts within federated protocol operations | |
EP3942775B1 (en) | Application integration using multiple user identities | |
CN105991614B (zh) | 一种开放授权、资源访问的方法及装置、服务器 | |
CN110032842B (zh) | 同时支持单点登录及第三方登录的方法和系统 | |
EP1472813A1 (en) | Single sign-on over the internet using public-key cryptography | |
CN111444495B (zh) | 一种基于容器实现单点登录的系统及方法 | |
WO2018022193A1 (en) | Login proxy for third-party applications | |
CN115484092A (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 |