CN112685719A - 单点登录方法、装置、系统、计算机设备和存储介质 - Google Patents
单点登录方法、装置、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112685719A CN112685719A CN202011605720.2A CN202011605720A CN112685719A CN 112685719 A CN112685719 A CN 112685719A CN 202011605720 A CN202011605720 A CN 202011605720A CN 112685719 A CN112685719 A CN 112685719A
- Authority
- CN
- China
- Prior art keywords
- tenant
- token
- user terminal
- security token
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种单点登录方法、装置、系统、计算机设备和存储介质。所述方法包括:接收目标用户输入的将第一租户切换至第二租户的切换指令;所述切换指令包括所述第二租户的租户信息;根据所述切换指令向登录服务器发送第一登录请求;所述第一登录请求包括所述第二租户的租户信息,所述第一登录请求用于指示所述登录服务器根据所述第二租户的租户信息检测是否存在所述目标用户对应的全局会话,并在检测到存在所述目标用户对应的全局会话后发送所述第二租户对应的第一安全令牌;接收所述登录服务器发送的所述第一安全令牌,并将所述第一安全令牌发送到应用服务器进行验证,以在验证通过后访问所述第二租户。采用本方法切换租户时无需用户重新登录。
Description
技术领域
本申请涉及单点登录技术领域,特别是涉及一种单点登录方法、装置、系统、计算机设备和存储介质。
背景技术
SaaS(Software-as-a-Service,软件即服务)是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。SaaS为成百上千的不同客户(又称为租户)提供服务,每个租户可以有很多用户,一个用户也可以加入多个租户。
由于不同租户的应用可能部署在不同域下,甚至可能是来自不同的供应商,因此,在用户切换租户时,普遍要求用户重新登录,从而避免在不同应用间直接传递登录信息导致泄漏用户隐私。
但是,重新登录就增加了用户操作,也降低了应用的访问效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免用户切换租户时重新登录,减少用户操作、提高应用的访问效率的单点登录方法、装置、系统、计算机设备和存储介质。
一种单点登录方法,该方法包括:
接收目标用户输入的将第一租户切换至第二租户的切换指令;切换指令包括第二租户的租户信息和应用信息;
根据切换指令向登录服务器发送第一登录请求;第一登录请求包括第二租户的租户信息和应用信息,第一登录请求用于指示登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
一种单点登录方法,应用于登录服务器,该方法包括:
接收用户终端发送的第一登录请求;第一登录请求为用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,第一登录请求包括第二租户的租户信息和应用信息;
根据第二租户的租户信息检测是否存在目标用户对应的全局会话;
在检测到存在目标用户对应的全局会话的情况下,将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
一种单点登录方法,应用于应用服务器,该方法包括:
接收用户终端发送的第一安全令牌;第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到用户终端发送的第一登录请求,并检测到存在目标用户对应的全局会话后发送到用户终端的;第一登录请求包括第二租户的租户信息和应用信息;
对第一安全令牌进行验证;
若令牌验证通过,则允许用户终端访问第二租户。
一种单点登录方法,该方法包括:
用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据切换指令向登录服务器发送第一登录请求;切换指令包括第二租户的租户信息和应用信息;第一登录请求包括第二租户的租户信息和应用信息;
登录服务器接收第一登录请求,根据第一登录请求检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
用户终端接收第一安全令牌,并将第一安全令牌发送到应用服务器;
应用服务器接收第一安全令牌,对第一安全令牌进行验证,并在验证通过后允许用户终端访问第二租户。
一种单点登录装置,应用于用户终端,该装置包括:
切换指令接收模块,用于接收目标用户输入的将第一租户切换至第二租户的切换指令;切换指令包括第二租户的租户信息和应用信息;
第一登录请求发送模块,用于根据切换指令向登录服务器发送第一登录请求;第一登录请求包括第二租户的租户信息和应用信息,第一登录请求用于指示登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
第一令牌接收模块,用于接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
一种单点登录装置,应用于登录服务器,该装置包括:
第一登录请求接收模块,用于接收用户终端发送的第一登录请求;第一登录请求为用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,第一登录请求包括第二租户的租户信息和应用信息;
全局会话检测模块,用于根据第二租户的租户信息检测是否存在目标用户对应的全局会话;
第一令牌发送模块,用于若检测到目标用户对应的全局会话,则将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
一种单点登录装置,应用于应用服务器,该装置包括:
令牌接收模块,用于接收用户终端发送的第一安全令牌;第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到用户终端发送的第一登录请求,并检测到存在目标用户对应的全局会话后发送到用户终端的;第一登录请求包括第二租户的租户信息和应用信息;
验证模块,用于对第一安全令牌进行验证;
访问模块,用于若令牌验证通过,则允许用户终端访问第二租户。
一种单点登录系统,该系统包括用户终端、登录服务器和应用服务器;
用户终端,用于接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据切换指令向登录服务器发送第一登录请求;切换指令包括第二租户的租户信息和应用信息;第一登录请求包括第二租户的租户信息和应用信息;
登录服务器,用于接收第一登录请求,根据第一登录请求检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后向用户终端发送第二租户对应的第一安全令牌;
用户终端,还用于接收第一安全令牌,并将第一安全令牌发送到应用服务器;
应用服务器,用于接收第一安全令牌,对第一安全令牌进行验证,并在验证通过后允许用户终端访问第二租户。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收目标用户输入的将第一租户切换至第二租户的切换指令;切换指令包括第二租户的租户信息和应用信息;
根据切换指令向登录服务器发送第一登录请求;第一登录请求包括第二租户的租户信息,第一登录请求用于指示登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收目标用户输入的将第一租户切换至第二租户的切换指令;切换指令包括第二租户的租户信息和应用信息;
根据切换指令向登录服务器发送第一登录请求;第一登录请求包括第二租户的租户信息,第一登录请求用于指示登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
上述单点登录方法、装置、系统、计算机设备和存储介质,用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令;根据切换指令向登录服务器发送第一登录请求;接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。本公开实施例中,在目标用户切换租户的过程中,用户终端可以与登录服务器和应用服务器进行通信实现自动登录,无需用户重新登录,因此可以减少用户操作,提高应用的访问效率。
附图说明
图1为一个实施例中单点登录方法的应用环境图;
图2为一个实施例中单点登录方法的流程示意图之一;
图3为一个实施例中接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器步骤的流程示意图;
图4为一个实施例中令牌刷新过程的流程示意图;
图5为一个实施例中单点登录方法的流程示意图之二;
图6为另一个实施例中单点登录方法的流程示意图之一;
图7为另一个实施例中令牌刷新过程的流程示意图;
图8为另一个实施例中单点登录方法的流程示意图之二;
图9为又一个实施例中单点登录方法的流程示意图;
图10为再一个实施例中单点登录方法的流程示意图;
图11为一个实施例中单点登录装置的结构框图;
图12为另一个实施例中单点登录装置的结构框图;
图13为又一个实施例中单点登录装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的单点登录方法,可以应用于如图1所示的应用环境中。该应用环境包括用户终端10、登录服务器11和应用服务器12。其中,用户终端10通过网络与登录服务器11和应用服务器12进行通信。上述用户终端10可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,登录服务器11和应用服务器12可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种单点登录方法,以该方法应用于图1中的用户终端为例进行说明,包括以下步骤:
步骤101,用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令。
其中,切换指令包括第二租户的租户信息和应用信息;租户信息包括租户标识、目标用户的用户标识等;应用信息包括第二租户中待使用的目标应用的应用标识。本公开实施例对租户信息和应用信息不做限定。上述第一租户为切换租户前目标用户访问的租户,第二租户为切换租户后目标用户访问的租户。目标用户对于第一租户和第二租户具有不同的角色和访问权要。
在实际应用中,可以在用户终端展示多租户门户的界面,供用户选择租户和切换租户。其中,多租户门户界面中设置有多个租户的租户标识。
用户终端基于上述多租户门户的界面接收目标用户输入的将第一租户切换至第二租户的切换指令。该切换指令可以是点击操作,也可以是勾选操作,本公开实施例对此不做限定。
步骤102,用户终端根据切换指令向登录服务器发送第一登录请求。
用户终端接收到切换指令后,根据切换指令中的第二租户的租户信息和应用信息生成第一登录请求。之后,用户终端向登录服务器发送第一登录请求。其中,登录服务器可以是兼容的OIDC服务提供者,提供用户认证和授权服务。第一登录请求可以是基于OIDC标准的,第一登录请求中携带多租户门户的应用标识和第二租户的租户信息。
对应地,登录服务器接收用户终端发送的第一登录请求。之后,登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话。由于目标用户之前访问过第一租户,在目标用户访问第一用户时,登录服务器已经建立了目标用户对应的全局会话。因此,登录服务器会检测到存在目标用户对应的全局会话,进而将第二租户对应的第一安全令牌发送到用户终端。
步骤103,用户终端接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
用户终端接收登录服务器发送的第一安全令牌,并存储第一安全令牌。之后,用户终端向应用服务器发送第一安全令牌;对应地,应用服务器接收用户终端发送的第一安全令牌,并对第一安全令牌进行验证。如果验证通过,用户终端即可访问应用服务器终端提供的第二租户的相关资源。
用户终端向应用服务器发送第一安全令牌之前,应用服务器先在登录服务器进行注册,并将注册地址发送到用户终端。之后,当用户终端向应用服务器发送第一安全令牌时,可以采用POST方式向应用服务器的注册地址发送第一安全令牌。可以理解地,这种令牌发送方式不会将令牌发送到第三方,因此安全性比较高。
在其中一个实施例中,由用户终端记录目标用户的用户状态,应用服务器并不记录目标用户的用户状态,应用服务器是无状态的。
上述单点登录方法中,用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令;根据切换指令向登录服务器发送第一登录请求;接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。本公开实施例中,在目标用户切换租户的过程中,用户终端可以与登录服务器和应用服务器进行通信实现自动登录,无需用户重新登录,因此可以减少用户操作,提高应用的访问效率。
在一个实施例中,还可以包括:用户终端接收登录服务器发送的第一授权询问信息,并向登录服务器发送第一授权确认信息。其中,第一授权询问信息是在登录服务器检测到存在目标用户对应的全局会话后发送的;第一授权确认信息用于指示登录服务器发送第一安全令牌。
在实际应用中,登录服务器检测到存在目标用户对应的全局会话后、发送第一令牌前,会向用户终端发送第一授权询问信息,询问目标用户是否确认登录。如果目标用户确认登录,则通过用户终端向登录服务器发送第一授权确认信息。
例如,用户终端接收第一授权询问信息后,会显示一个询问是否登录的弹窗。当用户终端检测到弹窗中的“确认”按键被触发后,生成第一授权确认信息,并将第一授权确认信息发送到登录服务器。
登录服务器在接收到第一授权确认信息之后,向用户终端发送第一安全令牌。对应地,用户终端接收登录服务器发送的第一安全令牌。
上述实施例中,用户终端接收登录服务器发送的第一授权询问信息,并向登录服务器发送第一授权确认信息,即在切换租户的过程中,会询问目标用户是否确认登录,这样,可以提高登录安全性。
在一个实施例中,如图3所示,第一安全令牌包括身份令牌(ID Token)和/或访问令牌(Access Token),身份令牌中含有目标用户的用户标识等;访问令牌中含有目标用户的访问权限。上述接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证的步骤,可以包括:
步骤1031,用户终端接收登录服务器发送的身份令牌和/或访问令牌。
登录服务器向用户终端发送的第一安全令牌包括身份令牌和/或访问令牌;用户终端接收登录服务器发送的身份令牌和/或访问令牌。
在其中一个实施例中,登录服务器通过不同的端口分别发送身份令牌和访问令牌;用户终端从登录服务器的不同端口分别接收身份令牌和访问令牌。可以理解地,采用不同端口收发身份令牌和访问令牌,即使其中一个令牌被截获,截获方也无法访问租户,提高了访问应用的安全性。
步骤1032,用户终端根据身份令牌建立本地会话。
其中,身份令牌中还含有租户标识,比如租户名称、租户头像等。
用户终端接收到身份令牌后,可以根据身份令牌建立本地会话,并根据目标用户的用户标识和租户标识设置本地会话的显示界面。对应不同的租户标识可以显示不同的显示界面,用户终端在从第一租户切换至第二租户之后,会根据第二租户对应的身份令牌对本地会话的显示界面进行更新,实现了个性化设置。
步骤1033,用户终端将访问令牌发送到应用服务器进行验证。
用户终端在建立本地会话的同时,还向应用服务器发送访问令牌。对应地,应用服务器接收用户终端发送的访问令牌,并对访问令牌进行验证。如果验证通过,应用服务器允许用户终端访问第二租户所对应的相关资源。
上述接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证的步骤中,用户终端接收登录服务器发送的身份令牌和/或访问令牌;根据身份令牌建立本地会话,和/或,将访问令牌发送到应用服务器进行验证。本公开实施例中,第一安全令牌包括身份令牌、访问令牌,因此用户终端可以根据身份令牌、访问令牌实现多种功能。
在一个实施例中,第一安全令牌包括刷新令牌(Refresh Token),如图4所示,在上述实施例的基础上,还可以包括令牌刷新的过程:
步骤104,用户终端根据第一安全令牌的有效期确定令牌刷新时间。
登录服务器可以设置访问令牌的有效期,在访问令牌的有效期内,目标用户可以访问第二租户;当超过访问令牌的有效期后,目标用户将不能访问第二租户。随着有效期的设置,登录服务器向用户终端发送的第一安全令牌除了包括身份令牌和访问令牌之外,还包括刷新令牌。
对应地,用户终端接收身份令牌、访问令牌和刷新令牌,根据访问令牌的有效期确定令牌刷新时间。
步骤105,在到达令牌刷新时间时,用户终端将刷新令牌发送到登录服务器。
用户终端在确定令牌刷新时间后,对令牌刷新时间进行监测。当确定到达令牌刷新时间时,用户终端将刷新令牌发送到登录服务器。对应地,登录服务器接收用户终端发送的刷新令牌,并对第一安全令牌进行更新得到第二安全令牌。之后,登录服务器向用户终端发送第二安全令牌。
其中,第一安全令牌是登录服务器在检测到全局会话后初次发放的安全令牌,第一安全令牌包括刷新令牌;而第二安全令牌是登录服务器根据刷新令牌进行更新得到的新的安全令牌,该安全令牌包括新的访问令牌但不包括新的刷新令牌。
步骤106,用户终端接收登录服务器发送的第二安全令牌,并将第二安全令牌发送到应用服务器进行验证。
用户终端接收登录服务器发送的第二安全令牌,第二安全令牌中包括新的访问令牌。之后,用户终端将新的访问令牌发送到应用服务器进行验证。
上述身份令牌、访问令牌和刷新令牌均使用JSON Web Token(JWT)格式编码。
上述实施例中,用户终端根据第一安全令牌的有效期确定令牌刷新时间;在到达令牌刷新时间时,将刷新令牌发送到登录服务器;之后,接收登录服务器发送的第二安全令牌,并将第二安全令牌发送到应用服务器进行验证。本公开实施例中,第一安全令牌包括刷新令牌,用户终端可以在访问令牌失效前使用刷新令牌换取新的访问令牌,从而持续访问租户。进一步地,定期更换访问令牌,可以提高访问应用的安全性。
在一个实施例中,如图5所示,本公开实施例还提供了一种单点登录方法,以该方法应用于图1中的用户终端为例进行说明,包括以下步骤:
步骤201,用户终端开启浏览器,并向登录服务器发送第二登录请求。
用户终端访问租户可以使用Web应用的隐式流程(Implicit Flow),该隐式流程为OAuth/OIDC标准支持的流程;也可以使用预先安装的客户端应用程序。本公开实施例对此不做限定。
以使用隐式流程为例,目标用户先在用户终端开启浏览器;然后,用户终端向登录服务器发送第二登录请求。对应地,登录服务器接收第二登录请求,根据第二登录请求检测是否存在目标用户对应的全局会话。由于目标用户之前并没有访问过租户,因此登录服务器检测到不存在目标用户对应的全局会话。随后,登录服务器向用户终端发送登录页面。
步骤202,用户终端接收登录服务器发送的登录页面并展示登录页面。
用户终端接收登录服务器发送的登录页面,并展示该登录页面。登录页面中可以设置用户名输入框和口令输入框。本公开实施例对登录页面不做限定。
步骤203,用户终端基于登录页面向登录服务器发送登录信息。
用户终端展示登录页面后,用户可以在登录页面中输入登录信息;然后,用户终端将用户输入的登录信息发送到登录服务器进行登录验证。例如,用户在登录页面中输入用户名和口令;用户终端将用户名和口令发送到登录服务器。
登录服务器接收用户终端发送的登录信息,根据登录信息进行登录验证。如果登录验证成功,登录服务器建立目标用户对应的全局会话,并向用户终端发送第三安全令牌。
在其中一个实施例中,用户终端向登录服务器发送登录信息后,接收登录服务器发送的第二授权提示信息,并向登录服务器发送第二授权确认信息。
在实际应用中,登录服务器接收登录信息并进行登录验证。如果登录验证成功,登录服务器先向用户终端发送第二授权提示信息。对应地,用户终端接收登录服务器发送的第二授权提示信息,并询问目标用户是否授权。如果目标用户确认授权,则用户终端向登录服务器发送第二授权确认信息。对应地,登录服务器接收用户终端发送的第二授权确认信息,并向用户终端发送第三安全令牌。
可以理解地,询问目标用户是否授权,可以提高访问应用的安全性。
步骤204,用户终端接收登录服务器发送的第三安全令牌,并将第三安全令牌发送到应用服务器进行验证。
用户终端接收登录服务器发送的第三安全令牌,然后将第三安全令牌发送到应用服务器。对应地,应用服务器接收第三安全令牌,并对第三安全令牌进行验证。由于用户并未选取租户,因此用户终端向应用服务器发送第三安全令牌时,第三安全令牌并未的携带租户标识。
步骤205,用户终端接收应用服务器在对第三安全令牌验证通过后发送的租户和应用列表。
其中,租户和应用列表中包括租户信息和应用信息。
应用服务器接收用户终端发送的第三安全令牌,并对第三安全令牌进行验证。如果验证通过,应用服务器会向用户终端发送租户和应用列表。对应地,用户终端接收应用服务器发送的租户和应用列表。
步骤206,用户终端基于租户和应用列表进入第一租户。
用户终端接收到租户和应用列表后,展示该租户和应用列表。之后,目标用户基于该租户和应用列表选取第一租户,用户终端则访问应用服务器中第一租户所对应的资源。
步骤207,用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令。
其中,切换指令包括第二租户的租户信息和应用信息。
当目标用户需要切换用户时,用户终端接收目标用户输入的切换指令。
步骤208,用户终端根据切换指令向登录服务器发送第一登录请求。
用户终端接收到切换指令后,根据切换指令生成第一登录请求,并向登录服务器发送第一登录请求。对应地,登录服务器接收第一登录请求,根据第一登录请求中包含的第二租户的租户信息检测是否存在目标用户对应的全局会话。在检测到存在目标用户对应的全局会话后,登录服务器向用户终端发送第二租户对应的第一安全令牌。
在其中一个实施例中,登录服务器检测到存在目标用户对应的全局会话后,向用户终端发送第一授权询问信息。用户终端接收登录服务器发送的第一授权询问信息,并向登录服务器发送第一授权确认信息。登录服务器接收第一授权确认信息,并向用户终端发送第一安全令牌。
步骤209,用户终端接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
步骤210,根据第一安全令牌的有效期确定令牌刷新时间。
步骤211,在到达令牌刷新时间时,将刷新令牌发送到登录服务器。
用户终端在到达令牌刷新时间时,将刷新令牌发送到的登录服务器。登录服务器接收刷新令牌,并对第一安全令牌进行更新得到第二安全令牌,然后向用户终端发送第二安全令牌。
步骤212,用户终端接收登录服务器发送的第二安全令牌,并将第二安全令牌发送到应用服务器进行验证。
步骤213,用户终端接收目标用户输入的注销指令。
其中,注销指令中包括第二租户的租户信息。
当目标用户退出时,用户终端接收目标用户输入的注销指令。例如,用户终端接收到退出本地会话的指令,则确定接收到注销指令。本公开实施例对注销指令不做限定。
步骤214,用户终端根据注销指令向登录服务器发送注销请求。
用户终端接收注销指令后,生成注销请求,并向登录服务器发送注销请求。登录服务器接收用户终端发送的注销请求,并注销目标用户对应的全局会话。
上述实施例中,用户终端先与登录服务器和应用服务器进行通信,成功访问第一租户;之后,用户终端根据切换指令再次与登录服务器和应用服务器进行通信,从访问第一租户切换到访问第二租户。在切换租户的过程中,无需用户重新登录,减少了用户操作,提高了应用的访问效率。并且,用户终端与登录服务器和应用服务器进行通信的过程中,使用了安全令牌,提高了访问应用的安全性。
在一个实施例中,如图6所示,本公开实施例还提供了一种单点登录方法,以该方法应用于图1中的登录服务器为例进行说明,包括以下步骤:
步骤301,登录服务器接收用户终端发送的第一登录请求。
其中,第一登录请求包括第二租户的租户信息和应用信息。
用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后,向登录服务器发送第一登录请求。对应地,登录服务器接收用户终端发送的第一登录请求。
步骤302,登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话。
由于第一登录请求中包括第二租户的租户信息,因此登录服务器接收第一登录请求后,可以根据第二租户的租户信息检测登录服务器中是否存在目标用户对应的全局会话。由于
步骤303,在检测到存在目标用户对应的全局会话的情况下,登录服务器将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
在用户终端访问第一租户时,登录服务器已经建立了目标用户对应的全局会话。因此,登录服务器根据第二租户的租户信息可以检测到存在目标用户对应的全局会话。此时,登录服务器向用户终端发送第二租户对应的第一安全令牌。对应地,用户终端接收登录服务器发送的第一安全令牌,并向应用服务器发送第一安全令牌。应用服务器接收第一安全令牌,并对第一安全令牌进行验证。如果第一安全令牌验证通过,则应用服务器允许用户终端访问第二租户对应的资源。
上述单点登录方法中,登录服务器接收用户终端发送的第一登录请求;根据第一登录请求中第二租户的租户信息检测是否存在目标用户对应的全局会话;在检测到存在目标用户对应的全局会话的情况下,将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
在一个实施例中,还可以包括:登录服务器向用户终端发送第一授权询问信息;接收用户终端发送的第一授权确认信息。其中,第一授权询问信息用于询问目标用户是否授权。
登录服务器检测到存在目标用户对应的全局会话后,向用户终端发送第一授权询问信息。用户终端接收第一授权询问信息,询问目标用户是否授权;在目标用户确认授权后,生成第一授权确认信息,并向登录服务器发送第一授权确认信息。登录服务器接收用户终端发送的第一授权确认信息。
上述实施例中,登录服务器向用户终端发送第一授权询问信息,接收用户终端发送的第一授权确认信息,即在切换租户的过程中,会询问目标用户是否确认登录,这样,可以提高登录安全性。
在一个实施例中,第一安全令牌包括身份令牌和/或访问令牌,上述将第二租户对应的第一安全令牌发送到用户终端的步骤,可以包括:登录服务器将身份令牌和/或访问令牌发送到用户终端。
登录服务器向用户终端发送的第一安全令牌包括身份令牌和/或访问令牌。用户接收登录服务器发送的身份令牌和/或访问令牌;根据身份令牌建立本地会话,和/或,将访问令牌发送到应用服务器进行验证。
在其中一个实施例中,登录服务器通过不同端口发送身份令牌和访问令牌;用户终端通过登录服务器的不同端口分别接收身份令牌和访问令牌。这样,即使其中一个令牌被截获,截获方也无法访问租户,提高了应用访问的安全性。
上述将第二租户对应的第一安全令牌发送到用户终端的步骤中,登录服务器通过不同端口发送身份令牌和访问令牌,提高了访问应用的安全性;并且,将第二租户添加到上述应用列表中,便于后续通知应用注销本地会话。
在一个实施例中,如图7所示,第一安全令牌还包括刷新令牌,在上述实施例的基础上,还可以包括令牌刷新的过程:
步骤304,登录服务器接收用户终端发送的刷新令牌。
登录服务器向用户终端发送的第一安全令牌除了包括身份令牌和访问令牌,还包括刷新令牌。其中,登录服务器设置了访问令牌的有效期。用户终端接收身份令牌、访问令牌和刷新令牌后,根据访问令牌的有效期确定令牌刷新时间。在到达令牌刷新时间时,用户终端向登录服务器发送刷新令牌。对应地,登录服务器接收用户终端发送的刷新令牌。
步骤305,登录服务器根据刷新令牌对第一安全令牌进行更新得到第二安全令牌,并将第二安全令牌发送到用户终端,以供用户终端将第二安全令牌发送到应用服务器进行验证。
登录服务器接收用户终端发送的刷新令牌后,根据刷新令牌对第一安全令牌进行更新,得到第二安全令牌。然后,登录服务器向用户终端发送第二安全令牌。用户接收第二安全令牌,其中,第二安全令牌包括新的访问令牌但不包括新的刷新令牌。用户终端向应用服务器发送新的访问令牌;应用服务器接收新的访问令牌,并对新的访问令牌进行验证。
在到达下一次令牌刷新时间时,登录服务器再一次向用户终端发送新的访问令牌。
在其中一个实施例中,若检测到全局会话已注销,则登录服务器禁止响应刷新令牌。
如果登录服务器接收到刷新令牌后检测到全局会话已注销,或者是到达下一次令牌刷新时间时检测到全局会话已注销,则登录服务器不再响应刷新令牌,即不向用户终端发送新的访问令牌。
上述实施例中,登录服务器接收用户终端发送的刷新令牌;根据刷新令牌对第一安全令牌进行更新得到第二安全令牌,并将第二安全令牌发送到用户终端,以供用户终端将第二安全令牌发送到应用服务器进行验证。本公开实施例中,访问令牌设置了有效期,在访问令牌失效前,登录服务器根据刷新令牌为用户终端换取新的访问令牌,从而使用户终端可以持续访问租户。进一步地,定期更换访问令牌,可以提高访问应用的安全性。
在一个实施例中,如图8所示,本公开实施例还提供了一种单点登录方法,以该方法应用于图1中的登录服务器为例进行说明,包括以下步骤:
步骤401,登录服务器接收用户终端发送第二登录请求。
目标用户在开始访问租户时,先在用户终端开启浏览器。然后,用户终端向登录服务器发送第二登录请求。登录服务器接收用户终端发送的第二登录请求。
步骤402,登录服务器根据第二登录请求检测是否存在目标用户对应的全局会话,并在检测到不存在目标用户对应的全局会话后向用户终端发送登录页面。
登录服务器接收第二登录请求后,检测登录服务器中是否存在目标用户对应的全局会话。由于目标用户之前并没有访问过租户,登录服务器也没有建立过目标用户对应的全局会话,因此登录服务器检测到不存在目标用户对应的全局会话,并向用户终端发送登录页面。
步骤403,登录服务器接收用户终端基于登录页面发送的登录信息,并根据登录信息进行登录验证。
用户终端接收登录页面并展示登录页面。登录页面中可以设置用户名输入框和口令输入框。本公开实施例对登录页面不做限定。
目标用户在登录页面中输入登录信息,用户终端将目标用户输入的登录信息发送到的登录服务器。登录服务器接收用户终端发送的登录信息;然后,登录服务器根据登录信息进行登录验证。
步骤404,若登录验证通过,则登录服务器向用户终端发送第三安全令牌,以供用户终端在接收到第三安全令牌后构建本地会话,并将第三安全令牌发送到应用服务器进行验证。
如果登录验证通过,登录服务器向用户终端发送第三安全令牌。用户终端接收第三安全令牌,建立本地会话,并将第三安全令牌发送到应用服务器。应用服务器接收第三安全令牌,并对第三安全令牌进行验证。其中,第三安全令牌是登录服务器验证通过后发放的安全令牌。
在其中一个实施例中,若登录验证通过,登录服务器向用户终端发送第二授权询问信息;接收用户终端发送第二授权确认信息。
登录服务器进行登录验证通过后,向用户终端发送第二授权询问信息;用户终端接收第二授权询问信息,询问目标用户是否授权;当目标用户确认授权后,用户终端生成第二授权确认信息,并向登录服务器发送第二授权确认信息。登录服务器接收第二授权确认信息;然后,向用户终端发送第三安全令牌。
步骤405,登录服务器接收用户终端发送的第一登录请求。
其中,第一登录请求为用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,第一登录请求包括第二租户的租户信息和应用信息。
步骤406,登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话。
步骤407,在检测到存在目标用户对应的全局会话的情况下,登录服务器将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
步骤408,登录服务器接收用户终端发送的刷新令牌。
其中,刷新令牌为用户终端根据第一安全令牌的有效期确定令牌刷新时间,并在到达令牌刷新时间时发送的。
步骤409,登录服务器根据刷新令牌对第一安全令牌进行更新得到第二安全令牌,并将第二安全令牌发送到用户终端,以供用户终端将第二安全令牌发送到应用服务器进行验证。
步骤410,登录服务器接收用户终端发送的注销请求。
其中,注销请求包括第二租户的租户信息和应用信息。
当用户终端接收到目标用户输入的注销指令后,生成注销请求,并向登录服务器发送注销请求。登录服务器接收用户终端发送的注销请求。
步骤411,登录服务器根据注销请求注销目标用户对应的全局会话。
登录服务器接收注销请求后,根据注销请求中第二租户的租户信息注销目标用户对应的全局会话。
上述实施例中,登录服务器为用户终端提供登录认证服务,在用户终端从访问第一租户切换到访问第二租户的过程中,无需用户重新登录,减少了用户操作,提高了应用的访问效率。并且,登录服务器为用户终端发放安全令牌,使用户终端可以持令牌访问租户,从而提高了访问应用的安全性。
在一个实施例中,如图9所示,本公开实施例还提供了一种单点登录方法,以该方法应用于图1中的应用服务器为例进行说明,包括以下步骤:
步骤501,应用服务器接收用户终端发送的第一安全令牌。
其中,第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到用户终端发送的第一登录请求,并检测到存在目标用户对应的全局会话后发送到用户终端的;第一登录请求包括第二租户的租户信息和应用信息。
用户终端在接收到从第一租户切换到第二租户的切换指令后,向登录服务器发送第一登录请求;登录服务器接收第一登录请求,并根据第一登录请求包括的第二租户的租户信息检测是否存目标用户对应的全局会话。在检测到存在目标用户对应的全局会话后,登录服务器向用户终端发送第一安全令牌。对应地,用户终端接收第一安全令牌,并向应用服务器发送第一安全令牌。应用服务器接收用户终端发送的第一安全令牌。
步骤502,应用服务器对第一安全令牌进行验证。
应用服务器接收到第一安全令牌后,对第一安全令牌进行验证。其中,登录服务器在将第一安全令牌发送到用户终端之前,采用公钥对第一安全令牌进行签名。应用服务器接收到第一安全令牌后,根据预先从登录服务器获取到的公钥对第一安全令牌的签名进行验证。如果公钥与第一安全令牌的签名匹配,则确定令牌验证通过,执行步骤503;如果公钥与第一安全令牌的签名不匹配,则确定令牌验证不通过。
步骤503,若令牌验证通过,则应用服务器允许用户终端访问第二租户。
如果令牌验证通过,用户终端则可以访问应用服务器中第二租户所对应的资源。
上述单点登录方法中,应用服务器接收用户终端发送的第一安全令牌;对第一安全令牌进行验证;若令牌验证通过,则允许用户终端访问第二租户。本公开实施例中,在目标用户切换租户的过程中,应用服务器自动验证令牌,无需用户重新登录,因此可以减少用户操作,提高应用的访问效率。
在一个实施例中,如图10所示,本公开实施例还提供了一种单点登录方法,以该方法应用于图1为例进行说明,包括以下步骤:
步骤601,用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据切换指令向登录服务器发送第一登录请求。
其中,切换指令包括第二租户的租户信息和应用信息;第一登录请求包括第二租户的租户信息和应用信息。
步骤602,登录服务器接收第一登录请求,根据第一登录请求检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌。
步骤603,用户终端接收第一安全令牌,并将第一安全令牌发送到应用服务器。
步骤604,应用服务器接收第一安全令牌,对第一安全令牌进行验证,并在验证通过后允许用户终端访问第二租户。
上述实施例中,在目标用户切换租户的过程中,用户终端可以与登录服务器和应用服务器进行通信实现自动登录,无需用户重新登录,因此可以减少用户操作,提高应用的访问效率。
应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种单点登录装置,应用于用户终端,包括:
切换指令接收模块701,用于接收目标用户输入的将第一租户切换至第二租户的切换指令;切换指令包括第二租户的租户信息和应用信息;
第一登录请求发送模块702,用于根据切换指令向登录服务器发送第一登录请求;第一登录请求包括第二租户的租户信息和应用信息,第一登录请求用于指示登录服务器根据第二租户的租户信息检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后发送第二租户对应的第一安全令牌;
第一令牌接收模块703,用于接收登录服务器发送的第一安全令牌,并将第一安全令牌发送到应用服务器进行验证,以在验证通过后访问第二租户。
在其中一个实施例中,该装置还包括:
第一授权确认模块,用于接收登录服务器发送的第一授权询问信息,并向登录服务器发送第一授权确认信息;
其中,第一授权询问信息是在登录服务器检测到存在目标用户对应的全局会话后发送的;第一授权确认信息用于指示登录服务器发送第一安全令牌。
在其中一个实施例中,第一安全令牌包括身份令牌和/或访问令牌,上述第一令牌接收模块703,具体用于接收登录服务器发送的身份令牌和/或访问令牌;根据身份令牌建立本地会话,和/或,将访问令牌发送到应用服务器进行验证。
在其中一个实施例中,第一安全令牌包括刷新令牌,该装置包括:
刷新时间确定模块,用于根据第一安全令牌的有效期确定令牌刷新时间;
刷新令牌发送模块,用于在到达令牌刷新时间时,将刷新令牌发送到登录服务器;刷新令牌用于指示登录服务器对第一安全令牌进行更新得到第二安全令牌,并发送第二安全令牌;
第二令牌接收模块,用于接收登录服务器发送的第二安全令牌,并将第二安全令牌发送到应用服务器进行验证。
在其中一个实施例中,该装置还包括:
注销指令接收模块,用于接收目标用户输入的注销指令;注销指令中包括第二租户的租户信息;
注销请求发送模块,用于根据注销指令向登录服务器发送注销请求;注销请求用于指示登录服务器注销目标用户对应的全局会话。
在一个实施例中,如图12所示,提供了一种单点登录装置,应用于登录服务器,包括:
第一登录请求接收模块801,用于接收用户终端发送的第一登录请求;第一登录请求为用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,第一登录请求包括第二租户的租户信息和应用信息;
全局会话检测模块802,用于根据第二租户的租户信息检测是否存在目标用户对应的全局会话;
第一令牌发送模块803,用于若检测到目标用户对应的全局会话,则将第二租户对应的第一安全令牌发送到用户终端,以供用户终端将第一安全令牌发送到应用服务器进行验证,并在验证通过后访问第二租户。
在其中一个实施例中,该装置还包括:
第一询问信息发送模块,用于向用户终端发送第一授权询问信息;第一授权询问信息用于询问目标用户是否授权;
第一授权信息接收模块,用于接收用户终端发送的第一授权确认信息。
在其中一个实施例中,第一安全令牌包括身份令牌和/或访问令牌,上述第一令牌发送模块803,具体用于将身份令牌和/或访问令牌发送到用户终端。
在其中一个实施例中,第一安全令牌还包括刷新令牌,该装置还包括:
刷新令牌接收模块,用于接收用户终端发送的刷新令牌;刷新令牌为用户终端根据第一安全令牌的有效期确定令牌刷新时间,并在到达令牌刷新时间时发送的;
第二令牌发送模块,用于根据刷新令牌对第一安全令牌进行更新得到第二安全令牌,并将第二安全令牌发送到用户终端,以供用户终端将第二安全令牌发送到应用服务器进行验证。
在其中一个实施例中,该装置包括:
禁止响应模块,用于若检测到全局会话已注销,则禁止响应刷新令牌。
在其中一个实施例中,该装置还包括:
注销请求接收模块,用于接收用户终端发送的注销请求;注销请求为用户终端在接收到目标用户输入的注销指令后发送的,注销请求包括第二租户的租户信息;
全局会话注销模块,用于根据注销请求注销目标用户对应的全局会话。
在一个实施例中,如图13所示,提供了一种单点登录装置,应用于应用服务器,该装置包括:
令牌接收模块901,用于接收用户终端发送的第一安全令牌;第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到用户终端发送的第一登录请求,并检测到存在目标用户对应的全局会话后发送到用户终端的;第一登录请求包括第二租户的租户信息和应用信息;
验证模块902,用于对第一安全令牌进行验证;
访问模块903,用于若令牌验证通过,则允许用户终端访问第二租户。
关于单点登录装置的具体限定可以参见上文中对于单点登录方法的限定,在此不再赘述。上述单点登录装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种单点登录系统,该系统包括用户终端、登录服务器和应用服务器;
用户终端,用于接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据切换指令向登录服务器发送第一登录请求;切换指令包括第二租户的租户信息和应用信息;第一登录请求包括第二租户的租户信息和应用信息;
登录服务器,用于接收第一登录请求,根据第一登录请求检测是否存在目标用户对应的全局会话,并在检测到存在目标用户对应的全局会话后向用户终端发送第二租户对应的第一安全令牌;
用户终端,还用于接收第一安全令牌,并将第一安全令牌发送到应用服务器;
应用服务器,用于接收第一安全令牌,对第一安全令牌进行验证,并在验证通过后允许用户终端访问第二租户。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种单点登录方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种单点登录方法,其特征在于,应用于用户终端,所述方法包括:
接收目标用户输入的将第一租户切换至第二租户的切换指令;所述切换指令包括所述第二租户的租户信息和应用信息;
根据所述切换指令向登录服务器发送第一登录请求;所述第一登录请求包括所述第二租户的租户信息和应用信息,所述第一登录请求用于指示所述登录服务器根据所述第二租户的租户信息检测是否存在所述目标用户对应的全局会话,并在检测到存在所述目标用户对应的全局会话后发送所述第二租户对应的第一安全令牌;
接收所述登录服务器发送的所述第一安全令牌,并将所述第一安全令牌发送到应用服务器进行验证,以在验证通过后访问所述第二租户。
2.根据权利要求1所述的方法,其特征在于,所述第一安全令牌包括身份令牌和/或访问令牌,所述接收所述登录服务器发送的所述第一安全令牌,并将所述第一安全令牌发送到应用服务器进行验证,包括:
接收所述登录服务器发送的所述身份令牌和/或所述访问令牌;
根据所述身份令牌建立本地会话,和/或,将所述访问令牌发送到所述应用服务器进行验证。
3.根据权利要求1所述的方法,其特征在于,所述第一安全令牌包括刷新令牌,所述方法包括:
根据所述第一安全令牌的有效期确定令牌刷新时间;
在到达所述令牌刷新时间时,将所述刷新令牌发送到所述登录服务器;所述刷新令牌用于指示所述登录服务器对所述第一安全令牌进行更新得到第二安全令牌,并发送所述第二安全令牌;
接收所述登录服务器发送的所述第二安全令牌,并将所述第二安全令牌发送到所述应用服务器进行验证。
4.一种单点登录方法,其特征在于,应用于登录服务器,所述方法包括:
接收用户终端发送的第一登录请求;所述第一登录请求为所述用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,所述第一登录请求包括所述第二租户的租户信息和应用信息;
根据所述第二租户的租户信息检测是否存在所述目标用户对应的全局会话;
在检测到存在所述目标用户对应的全局会话的情况下,将所述第二租户对应的第一安全令牌发送到所述用户终端,以供所述用户终端将所述第一安全令牌发送到应用服务器进行验证,并在验证通过后访问所述第二租户。
5.根据权利要求4所述的方法,其特征在于,所述第一安全令牌包括身份令牌和/或访问令牌,所述将所述第二租户对应的第一安全令牌发送到所述用户终端,包括:
将所述身份令牌和/或所述访问令牌发送到所述用户终端。
6.根据权利要求5所述的方法,其特征在于,所述第一安全令牌还包括刷新令牌,所述方法还包括:
接收所述用户终端发送的所述刷新令牌;所述刷新令牌为所述用户终端根据所述第一安全令牌的有效期确定令牌刷新时间,并在到达所述令牌刷新时间时发送的;
根据所述刷新令牌对所述第一安全令牌进行更新得到第二安全令牌,并将所述第二安全令牌发送到所述用户终端,以供所述用户终端将所述第二安全令牌发送到所述应用服务器进行验证。
7.根据权利要求6所述的方法,其特征在于,在所述接收所述用户终端发送的所述刷新令牌之后,所述方法还包括:
若检测到所述全局会话已注销,则禁止响应所述刷新令牌。
8.根据权利要求7所述的方法,其特征在于,在所述检测到所述全局会话已注销之前,所述方法还包括:
接收用户终端发送的注销请求;其中,所述注销请求为所述用户终端在接收到所述目标用户输入的注销指令后发送的,所述注销请求包括所述第二租户的租户信息;
根据注销请求注销所述目标用户对应的全局会话。
9.一种单点登录方法,其特征在于,应用于应用服务器,所述方法包括:
接收用户终端发送的第一安全令牌;所述第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到所述用户终端发送的第一登录请求,并检测到存在所述目标用户对应的全局会话后发送到所述用户终端的;所述第一登录请求包括所述第二租户的租户信息和应用信息;
对所述第一安全令牌进行验证;
若所述令牌验证通过,则允许所述用户终端访问所述第二租户。
10.一种单点登录方法,其特征在于,所述方法包括:
用户终端接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据所述切换指令向登录服务器发送第一登录请求;所述切换指令包括所述第二租户的租户信息和应用信息;所述第一登录请求包括所述第二租户的租户信息和应用信息;
所述登录服务器接收所述第一登录请求,根据所述第一登录请求检测是否存在所述目标用户对应的全局会话,并在检测到存在所述目标用户对应的全局会话后发送所述第二租户对应的第一安全令牌;
所述用户终端接收所述第一安全令牌,并将所述第一安全令牌发送到应用服务器;
所述应用服务器接收所述第一安全令牌,对所述第一安全令牌进行验证,并在验证通过后允许所述用户终端访问所述第二租户。
11.一种单点登录装置,其特征在于,应用于用户终端,所述装置包括:
切换指令接收模块,用于接收目标用户输入的将第一租户切换至第二租户的切换指令;所述切换指令包括所述第二租户的租户信息和应用信息;
第一登录请求发送模块,用于根据所述切换指令向登录服务器发送第一登录请求;所述第一登录请求包括所述第二租户的租户信息和应用信息,所述第一登录请求用于指示所述登录服务器根据所述第二租户的租户信息检测是否存在所述目标用户对应的全局会话,并在检测到存在所述目标用户对应的全局会话后发送所述第二租户对应的第一安全令牌;
第一令牌接收模块,用于接收所述登录服务器发送的所述第一安全令牌,并将所述第一安全令牌发送到应用服务器进行验证,以在验证通过后访问所述第二租户。
12.一种单点登录装置,其特征在于,应用于登录服务器,所述装置包括:
第一登录请求接收模块,用于接收用户终端发送的第一登录请求;所述第一登录请求为所述用户终端在接收到目标用户输入的将第一租户切换至第二租户的切换指令后发送的,所述第一登录请求包括所述第二租户的租户信息和应用信息;
全局会话检测模块,用于根据所述第二租户的租户信息检测是否存在所述目标用户对应的全局会话;
第一令牌发送模块,用于若检测到所述目标用户对应的全局会话,则将所述第二租户对应的第一安全令牌发送到所述用户终端,以供所述用户终端将所述第一安全令牌发送到应用服务器进行验证,并在验证通过后访问所述第二租户。
13.一种单点登录装置,其特征在于,应用于应用服务器,所述装置包括:
令牌接收模块,用于接收用户终端发送的第一安全令牌;所述第一安全令牌为目标用户从第一租户切换到第二租户的情况下,登录服务器在接收到所述用户终端发送的第一登录请求,并检测到存在所述目标用户对应的全局会话后发送到所述用户终端的;所述第一登录请求包括所述第二租户的租户信息和应用信息;
验证模块,用于对所述第一安全令牌进行验证;
访问模块,用于若所述令牌验证通过,则允许所述用户终端访问所述第二租户。
14.一种单点登录系统,其特征在于,所述系统包括用户终端、登录服务器和应用服务器;
所述用户终端,用于接收目标用户输入的将第一租户切换至第二租户的切换指令,并根据所述切换指令向登录服务器发送第一登录请求;所述切换指令包括所述第二租户的租户信息和应用信息;所述第一登录请求包括所述第二租户的租户信息和应用信息;
所述登录服务器,用于接收所述第一登录请求,根据所述第一登录请求检测是否存在所述目标用户对应的全局会话,并在检测到存在所述目标用户对应的全局会话后向所述用户终端发送所述第二租户对应的第一安全令牌;
所述用户终端,还用于接收所述第一安全令牌,并将所述第一安全令牌发送到所述应用服务器;
所述应用服务器,用于接收所述第一安全令牌,对所述第一安全令牌进行验证,并在验证通过后允许所述用户终端访问所述第二租户。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605720.2A CN112685719B (zh) | 2020-12-29 | 2020-12-29 | 单点登录方法、装置、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011605720.2A CN112685719B (zh) | 2020-12-29 | 2020-12-29 | 单点登录方法、装置、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112685719A true CN112685719A (zh) | 2021-04-20 |
CN112685719B CN112685719B (zh) | 2022-05-20 |
Family
ID=75454777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011605720.2A Active CN112685719B (zh) | 2020-12-29 | 2020-12-29 | 单点登录方法、装置、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685719B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513344A (zh) * | 2022-01-26 | 2022-05-17 | 鼎捷软件股份有限公司 | 云应用间的集成系统及其方法 |
CN114697137A (zh) * | 2022-05-10 | 2022-07-01 | 中国建设银行股份有限公司 | 应用程序的登录方法、装置、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及系统 |
WO2014046857A1 (en) * | 2012-09-21 | 2014-03-27 | Intuit Inc. | Single sign-on in multi-tenant environments |
CN106209749A (zh) * | 2015-05-08 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 单点登录方法及装置、相关设备和应用的处理方法及装置 |
CN106790272A (zh) * | 2017-02-16 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的系统及方法、一种应用服务器 |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及系统、一种认证中心服务器 |
CN108701182A (zh) * | 2016-08-31 | 2018-10-23 | 甲骨文国际公司 | 多租户身份云服务的数据管理 |
CN108769041A (zh) * | 2018-06-06 | 2018-11-06 | 深圳壹账通智能科技有限公司 | 登录方法、系统、计算机设备和存储介质 |
CN109286633A (zh) * | 2018-10-26 | 2019-01-29 | 深圳市华云中盛科技有限公司 | 单点登陆方法、装置、计算机设备及存储介质 |
CN109379369A (zh) * | 2018-11-09 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 单点登录方法、装置、服务器及存储介质 |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
US20190253457A1 (en) * | 2018-02-15 | 2019-08-15 | Oracle International Corporation | System and method for providing security services using a configuration template in a multi-tenant environment |
CN110309636A (zh) * | 2019-07-04 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种身份认证的方法和系统 |
CN111147453A (zh) * | 2019-12-11 | 2020-05-12 | 东软集团股份有限公司 | 系统登录方法以及集成登录系统 |
CN111641675A (zh) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
CN111953708A (zh) * | 2020-08-24 | 2020-11-17 | 北京金山云网络技术有限公司 | 基于云平台的跨账号登录方法、装置及服务器 |
-
2020
- 2020-12-29 CN CN202011605720.2A patent/CN112685719B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014046857A1 (en) * | 2012-09-21 | 2014-03-27 | Intuit Inc. | Single sign-on in multi-tenant environments |
CN102984169A (zh) * | 2012-12-11 | 2013-03-20 | 中广核工程有限公司 | 单点登录方法、设备及系统 |
CN106209749A (zh) * | 2015-05-08 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 单点登录方法及装置、相关设备和应用的处理方法及装置 |
CN108701182A (zh) * | 2016-08-31 | 2018-10-23 | 甲骨文国际公司 | 多租户身份云服务的数据管理 |
CN106790272A (zh) * | 2017-02-16 | 2017-05-31 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的系统及方法、一种应用服务器 |
CN107070880A (zh) * | 2017-02-16 | 2017-08-18 | 济南浪潮高新科技投资发展有限公司 | 一种单点登录的方法及系统、一种认证中心服务器 |
US20190253457A1 (en) * | 2018-02-15 | 2019-08-15 | Oracle International Corporation | System and method for providing security services using a configuration template in a multi-tenant environment |
CN108769041A (zh) * | 2018-06-06 | 2018-11-06 | 深圳壹账通智能科技有限公司 | 登录方法、系统、计算机设备和存储介质 |
CN109286633A (zh) * | 2018-10-26 | 2019-01-29 | 深圳市华云中盛科技有限公司 | 单点登陆方法、装置、计算机设备及存储介质 |
CN109379369A (zh) * | 2018-11-09 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 单点登录方法、装置、服务器及存储介质 |
CN109547458A (zh) * | 2018-12-10 | 2019-03-29 | 平安科技(深圳)有限公司 | 登录验证方法、装置、计算机设备及存储介质 |
CN110309636A (zh) * | 2019-07-04 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种身份认证的方法和系统 |
CN111147453A (zh) * | 2019-12-11 | 2020-05-12 | 东软集团股份有限公司 | 系统登录方法以及集成登录系统 |
CN111641675A (zh) * | 2020-04-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 多租户访问服务实现方法、装置、设备及存储介质 |
CN111953708A (zh) * | 2020-08-24 | 2020-11-17 | 北京金山云网络技术有限公司 | 基于云平台的跨账号登录方法、装置及服务器 |
Non-Patent Citations (2)
Title |
---|
嵇智辉等: "一种基于双令牌机制的单点登录模型研究", 《计算机工程与应用》 * |
胡彦婷等: "云服务中的租户数据安全策略研究", 《信息与电脑(理论版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513344A (zh) * | 2022-01-26 | 2022-05-17 | 鼎捷软件股份有限公司 | 云应用间的集成系统及其方法 |
CN114513344B (zh) * | 2022-01-26 | 2024-05-24 | 鼎捷软件股份有限公司 | 云应用间的集成系统及其方法 |
CN114697137A (zh) * | 2022-05-10 | 2022-07-01 | 中国建设银行股份有限公司 | 应用程序的登录方法、装置、设备及存储介质 |
CN114697137B (zh) * | 2022-05-10 | 2024-05-10 | 中国建设银行股份有限公司 | 应用程序的登录方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112685719B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9961088B2 (en) | Systems and methods for geolocation-based authentication and authorization | |
US10223520B2 (en) | System and method for integrating two-factor authentication in a device | |
US10764278B2 (en) | Authentication on a computing device | |
US11601412B2 (en) | Securely managing digital assistants that access third-party applications | |
US9055055B1 (en) | Provisioning account credentials via a trusted channel | |
US8437742B2 (en) | Systems and methods for providing location-based application authentication using a location token service | |
US8474017B2 (en) | Identity management and single sign-on in a heterogeneous composite service scenario | |
US20130212653A1 (en) | Systems and methods for password-free authentication | |
US11843593B2 (en) | Application integration using multiple user identities | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
CN110730174B (zh) | 一种网络访问控制方法、装置、设备及介质 | |
CN110324338B (zh) | 数据交互方法、装置、堡垒机与计算机可读存储介质 | |
US10110578B1 (en) | Source-inclusive credential verification | |
CN109561065A (zh) | 信息处理装置及其控制方法和存储介质 | |
CN106254319B (zh) | 一种轻应用登录控制方法和装置 | |
US10694381B1 (en) | System and method for authentication and sharing of subscriber data | |
CN112685719B (zh) | 单点登录方法、装置、系统、计算机设备和存储介质 | |
US9235696B1 (en) | User authentication using a portable mobile device | |
US20170149762A1 (en) | Bootstrapping user authentication | |
US20220286435A1 (en) | Dynamic variance mechanism for securing enterprise resources using a virtual private network | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
US20230275886A1 (en) | Critical event triggers for continuous access evaluations during communication sessions | |
US20240007457A1 (en) | Time-based token trust depreciation | |
WO2018196153A1 (zh) | 一种开放授权方法、装置和终端 | |
CN112560006A (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 |