一种安全对接第三方应用的登录方法与流程

文档序号:33556118发布日期:2023-03-22 11:57阅读:56来源:国知局
一种安全对接第三方应用的登录方法与流程

1.本发明涉及应用集成技术领域,尤其是一种安全对接第三方应用的登录方法。


背景技术:

2.目前,无论企业或政府单位,信息资源一体化建设还处于较低的水平,大部分是以各个业务部门为主导进行建设的,存在信息资源系统众多、组织架构混乱、共享程度低、业务系统缺乏整体规划、数据标准体系建设滞后等问题,而这些单独的业务系统之间又很难做到端到端流程贯通,系统层面的接口交互、人机交互问题也严重影响用户工作效率;同时,每个应用系统都拥有自己的用户信息库和认证机制,导致用户访问不同系统时,需要不同的用户凭证进行独立认证,用户需要记忆的账户密码较多,访问不同系统时极为不便。现有技术中,通过与统一身份管理平台(iam)对接,一次请求验证token,二次请求后验证账户名信息,验证成功后,跳转至系统首页,当前技术只验证用户身份,不够安全,且无法在系统内通用,只能跳转至系统首页。


技术实现要素:

3.本发明的目的是通过提出一种安全对接第三方应用的登录方法,以解决上述背景技术中提出的缺陷。
4.本发明采用的技术方案如下:
5.提供一种安全对接第三方应用的登录方法,包括如下步骤:
6.s1.1:统一身份管理平台对接第三方应用,并与第三方登录源进行数据初始化;
7.s1.2:第三方登录源第一次携带token序列请求验证;
8.s1.3:统一身份管理平台提供的登录接口验证第三方登录源的请求验证数据;
9.s1.4:身份验证通过后,返回新的token序列;
10.s1.5:第三方登录源第二次请求,携带用户信息及跳转的url;
11.s1.6:二次验证token序列,用户信息,登录源信息,验证通过后在系统内模拟用户登录。
12.作为本发明的一种优选技术方案:所述s1.1中,统一身份管理平台与第三方登录源间进行数据初始化,用于将合法ip、传递的参数及用户信息提前配置存储在统一身份管理平台及第三方登录源共享的信息数据库中;并生成用户登录第三方应用时与统一身份管理平台间的检测规则。
13.作为本发明的一种优选技术方案:所述检测规则中:第三方登录源设置密钥,将密钥数据中任意一个元素表示为keyj,j∈[1,m],m表示密钥的比特长度,m取128,当密钥keyj的长度小于128比特时,向密钥keyj的前面加0补足128位;当密钥keyj长度大于128比特时,对密钥keyj取哈希值;每一个元素都是一个128比特长的字符串,根据密钥生成查询数kq和伪查询数k
p
,并将查询数共同发送给统一身份管理平台,所述用户、第三方登录源随机数和统一身份管理平台共同生成一个交叉查询库,所述交叉查询数表存储查询数的交叉查询数kx

[0014]
作为本发明的一种优选技术方案:所述第三方登录源根据检测规则对token序列进行加密,并第一次携带token序列进行验证请求。
[0015]
作为本发明的一种优选技术方案:所述检测规则如下:
[0016][0017]
其中,k
x0
为token序列的加密密钥的交叉查询数,n为第三方登录源设定的密钥长度,wj为第三方登录源设定的第j位密钥的密钥参数,id为密钥标识符,j为当前密钥的密钥长度。
[0018]
作为本发明的一种优选技术方案:所述s1.3中,统一身份管理平台在验证token序列的基础上,对第三方登录源的ip和参数进行验证。
[0019]
作为本发明的一种优选技术方案:所述ip加密步骤如下:
[0020][0021]
其中,k
x
为交叉查询数,n为第三方登录源设定的密钥长度,w为第三方登录源设定的密钥参数,id为密钥标识符。
[0022]
作为本发明的一种优选技术方案:所述统一身份管理平台根据交叉查询库对第三方登录源ip进行查询,并验证ip是否合法;ip验证合法,且token序列验证正确后返回交叉查询数构成的新的token序列,若ip验证不合法或token序列验证不正确时,向第三方登录源返回验证错误信息。
[0023]
作为本发明的一种优选技术方案:所述s1.5中,第三方用户携带的token序列携带用户信息及登录源信息,统一身份管理平台对token序列进行二次验证,并通过信息数据库验证用户信息。
[0024]
作为本发明的一种优选技术方案:所述s1.5中,统一身份管理平台验证成功后,根据二次请求的登录源信息,所述登录源与统一身份管理平台已经对接时,用户在系统内进行登录,所述登录源与统一身份管理平台未对接时,跳转至登录源请求的url。
[0025]
本发明提供的安全对接第三方应用的登录方法,与现有技术相比,其有益效果有:
[0026]
本发明通过检测规则对传输的token序列进行密匙验证,对ip进行溯源验证,能够保证对外接口的安全性;并能够根据交叉查询库进行查询,更加有迹可循;通过统一身份管理,使第三方使用iam平台更为方便;并根据用户需求进行页面的访问。
附图说明
[0027]
图1为本发明优选实施例的方法流程图。
具体实施方式
[0028]
需要说明的是,在不冲突的情况下,本实施例中的实施例及实施例中的特征可以相互组合,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]
参照图1,本发明优选实施例提供了一种安全对接第三方应用的登录方法,包括如下步骤:
[0030]
s1.1:统一身份管理平台对接第三方应用,并与第三方登录源进行数据初始化;
[0031]
s1.2:第三方登录源第一次携带token序列请求验证;
[0032]
s1.3:统一身份管理平台提供的登录接口验证第三方登录源的请求验证数据;
[0033]
s1.4:身份验证通过后,返回新的token序列;
[0034]
s1.5:第三方登录源第二次请求,携带用户信息及跳转的url;
[0035]
s1.6:二次验证token序列,用户信息,登录源信息,验证通过后在系统内模拟用户登录。
[0036]
所述s1.1中,统一身份管理平台与第三方登录源间进行数据初始化,用于将合法ip、传递的参数及用户信息提前配置存储在统一身份管理平台及第三方登录源共享的信息数据库中;并生成用户登录第三方应用时与统一身份管理平台间的检测规则。
[0037]
所述检测规则中:第三方登录源设置密钥,将密钥数据中任意一个元素表示为keyj,j∈[1,m],m表示密钥的比特长度,m取128,当密钥keyj的长度小于128比特时,向密钥keyj的前面加0补足128位;当密钥keyj长度大于128比特时,对密钥keyj取哈希值;每一个元素都是一个128比特长的字符串,根据密钥生成查询数kq和伪查询数k
p
,并将查询数共同发送给统一身份管理平台,所述用户、第三方登录源随机数和统一身份管理平台共同生成一个交叉查询库,所述交叉查询数表存储查询数的交叉查询数k
x

[0038]
所述第三方登录源根据检测规则对token序列进行加密,并第一次携带token序列进行验证请求。
[0039]
所述检测规则如下:
[0040][0041]
其中,k
x0
为token序列的加密密钥的交叉查询数,n为第三方登录源设定的密钥长度,wj为第三方登录源设定的第j位密钥的密钥参数,id为密钥标识符,j为当前密钥的密钥长度。
[0042]
所述s1.3中,统一身份管理平台在验证token序列的基础上,对第三方登录源的ip和参数进行验证。
[0043]
所述ip加密步骤如下:
[0044][0045]
其中,k
x
为交叉查询数,n为第三方登录源设定的密钥长度,w为第三方登录源设定的密钥参数,id为密钥标识符。
[0046]
所述统一身份管理平台根据交叉查询库对第三方登录源ip进行查询,并验证ip是否合法;ip验证合法,且token序列验证正确后返回交叉查询数构成的新的token序列,若ip验证不合法或token序列验证不正确时,向第三方登录源返回验证错误信息。
[0047]
所述s1.5中,第三方用户携带的token序列携带用户信息及登录源信息,统一身份管理平台对token序列进行二次验证,并通过信息数据库验证用户信息。
[0048]
所述s1.5中,统一身份管理平台验证成功后,根据二次请求的登录源信息,所述登录源与统一身份管理平台已经对接时,用户在系统内进行登录,所述登录源与统一身份管
理平台未对接时,跳转至登录源请求的url。
[0049]
本实施例中,以统一身份管理平台对接微信为例。
[0050]
统一身份管理平台对接多个应用,包括微信、qq等聊天软件。微信登录源与统一身份管理平台间进行数据初始化,生成用户登录微信时与统一身份管理平台间的监测规则。
[0051]
假设微信设置密钥admin,将密钥数据中任意一个元素表示为keyj,j∈[1,m],m表示密钥的比特长度,m取128,当密钥keyj的长度小于128比特时,向密钥keyj的前面加0补足128位;当长度大于128比特时,对密钥keyj取哈希值;每一个元素都是一个128比特长的字符串,根据密钥生成查询数kq和伪查询数k
p
,并将查询数共同发送给统一身份管理平台,所述用户、微信登录源随机数和统一身份管理平台共同生成一个交叉查询库,所述交叉查询数表存储查询数的交叉查询数k
x

[0052]
微信登录源根据检测规则对token序列进行加密,并第一次携带token序列发送至统一身份管理平台进行验证请求:
[0053][0054]
其中,k
x0
为token序列的加密密钥的交叉查询数,n为微信登录源设定的密钥长度,wj为微信登录源设定的第j位密钥的密钥参数,id为密钥标识符,j为当前密钥的密钥长度。
[0055]
统一身份管理平台在验证token序列的基础上,对微信登录源的ip和参数进行验证
[0056]
所述ip加密步骤如下:
[0057][0058]
其中,k
x
为交叉查询数,n为微信登录源设定的密钥长度,w为微信登录源设定的密钥参数,id为密钥标识符。
[0059]
统一身份管理平台根据交叉查询库对微信登录源ip进行查询,并验证ip是否合法;ip验证合法,且token序列验证正确后返回交叉查询数构成的新的token序列“i am a lucky dog”,若ip验证不合法或token序列验证不正确时,向微信登录源返回验证错误信息。
[0060]
统一身份管理平台在验证token序列的基础上,对登录源的ip和参数进行验证,相较于原有技术,通过检测规则对传输的token序列进行加密返回,通过加密算法对ip进行溯源判断是否合法,更加安全,并能够根据交叉查询库进行查询,更加有迹可循。
[0061]
统一身份管理平台验证ip合法,且token序列验证正确后返回交叉查询数构成的新的token序列“i am a lucky dog”。微信验证返回的新的token序列“i am a lucky dog”正确时,则一次请求验证成功,微信登录源进行二次请求验证。通过信息数据库验证用户信息,验证成功后,根据二次请求的微信登录源信息,微信与统一身份管理平台已经对接,则微信用户在系统内进行登录,并保证统一身份管理平台对接的微信可以被正常使用。若用户需要登录的应用为与统一身份管理平台对接的钉钉,将统一身份管理平台作为跳板,唤醒钉钉进行使用。
[0062]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权
利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0063]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1