单点登录方法及系统技术方案

技术编号:26032001 阅读:23 留言:0更新日期:2020-10-23 21:09
本发明专利技术公开一种单点登录方法及系统,其中方法包括以下步骤:获取外部系统的登录请求,所述登录请求包括令牌;对所述令牌进行验证,验证成功时,获取相对应的外部帐号;获取与所述外部帐号相映射的内部账号;基于所述内部账号完成登录。本发明专利技术通过账户映射关系的设计,无需用户于外部系统中配置登录关联系统的帐号密码,甚至无需用户在关联系统中具有对应帐号,在满足安全性的同时,能够简洁、方便的满足外部系统的单点登录接入。

【技术实现步骤摘要】
单点登录方法及系统
本专利技术涉及网络通信
,尤其涉及一种单点登录方法及系统。
技术介绍
单点登录(SingleSignOn,SSO),通过用户的一次性鉴别登录。当用户于应用系统中完成一次身份认证后,即可获得访问该应用系统的关联系统的权限,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理。现有单点登录的方法:令应用登录系统和其他关联系统使用相同的账户密码,只需登录一次,通过应用系统登录其他关联系统时,由应用系统自动输入账户密码完成登录。预先在应用系统中配置其他关联系统的账户密码,通过应用系统登录其他关联系统时,由应用系统调取相应的账户密码完成登录,例如专利技术专利《单点登录方法、单点登录终端及单点登录系统》(CN107294916B)中所公开的技术方案。统一应用系统和其他关联系统的帐号密码的技术方案缺乏实用性;调取关联系统的账户密码实现登录的技术方案,需要用户预先配置各关联系统的账户密码,用户体验低。
技术实现思路
本专利技术针对现有技术中的缺点,提供了一种无需预先配置各关联系统的账户密码的单点登录方法及系统。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:一种单点登录方法,包括以下步骤:获取外部系统的登录请求,所述登录请求包括令牌;对所述令牌进行验证,验证成功时,获取相对应的外部帐号;获取与所述外部帐号相映射的内部账号;基于所述内部账号完成登录。作为一种可实施方式:提取预设的令牌验证地址,基于所述令牌验证地址将所述令牌发送至外部系统的验证服务器,由所述外部系统的验证服务器验证所述令牌是否有效;当所述令牌有效时,接收由所述外部系统的验证服务器返回的外部帐号,否则接收验证失败信息。作为一种可实施方式:从预设的认证数据库中对所述外部帐号的帐号映射关系进行查询,获得查询结果;当所述查询结果为帐号映射关系时,基于所述帐号映射关系提取相映射的内部帐号;当所述查询结果为空时,新建内部帐号,并创建相应的账户映射关系,令所述内部帐号与所述外部帐号相映射。作为一种可实施方式:所述登录请求还包括用户标识和签名;对所述令牌进行验证前,还包括信息校验步骤,具体步骤为:基于预设的白名单对所述用户标识进行匹配;匹配成功后,对所述签名进行验签;验签成功后,对所述令牌进行验证。作为一种可实施方式,基于所述内部账号完成登录后,还包括会话步骤:创建内部会话,并创建所述内部会话与外部系统的会话关系,生成会话关系表;基于会话关系表,刷新相应令牌的过期时间。作为一种可实施方式,生成会话关系表后还包括单点登出的方法,具体包括内部登出方法和外部登出方法;内部登出方法为:采集用户的登出操作,基于会话关系表提取相应令牌并基于所述令牌生成登出请求并发送至外部系统,令对应外部帐号登出,同时执行登出操作,令内部帐号登出;外部登出方法为:基于会话关系表提取相应令牌,基于所述令牌实时检测相应外部账户的登录状态,当所述登录状态为登出时,令对应内部帐号登出;所述内部帐号登出后于所述会话关系表中删除相应的会话关系。本专利技术还提出一种单点登录系统,包括:接收模块,用于获取外部系统的登录请求,所述登录请求包括令牌;验证模块,用于对所述令牌进行验证,验证成功时,获取相对应的外部帐号;帐号映射模块,用于获取与所述外部帐号相映射的内部账号;登录模块,用于基于所述内部账号完成登录。作为一种可实施方式,还包括会话模块,所述会话模块被配置为:创建内部会话,并创建所述内部会话与外部系统的会话关系,生成会话关系表;基于会话关系表,刷新相应令牌的过期时间。作为一种可实施方式,还包括单点登出模块,其包括内部登出单元和外部登出单元;内部登出单元,用于采集用户的登出操作,基于会话关系表提取相应令牌并基于所述令牌生成登出请求并发送至外部系统,令对应外部帐号登出,同时执行登出操作,令内部帐号登出;外部登出单元,用于基于会话关系表提取相应令牌,基于所述令牌实时检测相应外部账户的登录状态,当所述登录状态为登出时,令对应内部帐号登出;所述内部帐号登出后于所述会话关系表中删除相应的会话关系。本专利技术还提出一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。本专利技术由于采用了以上技术方案,具有显著的技术效果:1、本专利技术通过账户映射关系的设计,无需用户于外部系统中配置登录关联系统的帐号密码,甚至无需用户在关联系统中具有对应帐号,在满足安全性的同时,能够简洁、方便的满足外部系统的单点登录接入。2、本专利技术通过信息校验,判断外部系统是否恶意发起单点登录,还能验证所接收的信息是否被篡改,提高安全性。3、本专利技术通过会话关系表的设计,能够基于会话关系表刷新token的过期时间,令外部帐号保持登录状态。4、本专利技术通过单点登出的设计,无需用户依次进行登出操作,满足用户对数据安全的高要求的同时便捷用户登出操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一种单点登录方法的流程示意图;图2是本专利技术一种单点登录系统的模块连接示意图;图3是图2中验证模块200的模块连接示意图;图4是图2中帐号映射模块300的模块连接示意图;图5是图2中单点登出模块600的模块连接示意图。图中:100是接收模块、200是验证模块、210是校验单元、220是验签单元、230是验证单元、240是外部帐号获取单元、300是帐号映射模块、310是查询单元、320是帐号提取单元、330是帐号新建单元、400是登录模块、500是会话模块、600是单点登出模块、610是内部登出单元、620是外部登出单元、630是会话关系删除单元。具体实施方式下面结合实施例对本专利技术做进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。实施例1、一种单点登录方法,如图1所示,包括以下步骤:S100、获取外部系统的登录请求,所述登录请求包括令牌;S200、对所述令牌进行验证,验证成功时,获取相对应的外部帐号;S300、获取与所述外部帐号相映射的内部账号;S400、基于所述内部账号完成登录。本实施例中,以用户所在的应用系统作为外部系统,以用户通过所述应用系统单点登录的关联系统作为内部系统,本实施例所公开的单点登录方法为本文档来自技高网...

【技术保护点】
1.一种单点登录方法,其特征在于包括以下步骤:/n获取外部系统的登录请求,所述登录请求包括令牌;/n对所述令牌进行验证,验证成功时,获取相对应的外部帐号;/n获取与所述外部帐号相映射的内部账号;/n基于所述内部账号完成登录。/n

【技术特征摘要】
1.一种单点登录方法,其特征在于包括以下步骤:
获取外部系统的登录请求,所述登录请求包括令牌;
对所述令牌进行验证,验证成功时,获取相对应的外部帐号;
获取与所述外部帐号相映射的内部账号;
基于所述内部账号完成登录。


2.根据权利要求1所述的单点登录方法,其特征在于:
提取预设的令牌验证地址,基于所述令牌验证地址将所述令牌发送至外部系统的验证服务器,由所述外部系统的验证服务器验证所述令牌是否有效;
当所述令牌有效时,接收由所述外部系统的验证服务器返回的外部帐号,否则接收验证失败信息。


3.根据权利要求1所述的单点登录方法,其特征在于:
从预设的认证数据库中对所述外部帐号的帐号映射关系进行查询,获得查询结果;
当所述查询结果为帐号映射关系时,基于所述帐号映射关系提取相映射的内部帐号;
当所述查询结果为空时,新建内部帐号,并创建相应的账户映射关系,令所述内部帐号与所述外部帐号相映射。


4.根据权利要求1所述的单点登录方法,其特征在于:
所述登录请求还包括用户标识和签名;
对所述令牌进行验证前,还包括信息校验步骤,具体步骤为:
基于预设的白名单对所述用户标识进行匹配;
匹配成功后,对所述签名进行验签;
验签成功后,对所述令牌进行验证。


5.根据权利要求1至4任一所述的单点登录方法,其特征在于,基于所述内部账号完成登录后,还包括会话步骤:
创建内部会话,并创建所述内部会话与外部系统的会话关系,生成会话关系表;
基于会话关系表,刷新相应令牌的过期时间。


6.根据权利要求5所述的单点登录方法,其特征在于,生成会话关系表后还包括单点登出的方法,具体包括内部登出方法和外部登...

【专利技术属性】
技术研发人员:黄波
申请(专利权)人:新华智云科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1