本申请涉及第三方认证登录领域,尤其涉及一种支持可扩展安全对接第三方系统的方法及设备。
背景技术:
随着5g和移动的发展,移动办公的业务场景越来越多,这需要企业资源计划(enterpriseresourceplanning,erp)系统的移动业务功能可以发布到不同的应用app中。
通常一个公司的内部erp系统中的多个应用会选择一个统一的第三方系统,如钉钉、企业微信等,并采用统一标准的接口。随着第三方系统的不断增加,公司需要对支持内部erp系统应用的各个第三方系统进行扩展。
目前,公司内部erp系统的应用在集成到第三方系统时,需要依据第三方系统的认证规范实现不同的认证处理,这种方法的操作较为复杂,且不利于保障内部系统安全性。
技术实现要素:
本申请实施例提供一种支持可扩展安全对接第三方系统的方法及设备,用以解决目前的第三方认证登录方法操作较为复杂、安全性得不到保障的问题。
本申请实施例提供的一种支持可扩展安全对接第三方系统的方法,包括:
接收第三方系统用户的注册请求;
构建第三方扩展适配器,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册;
接收第三方系统用户的访问请求;
根据所述访问请求,对所述第三方系统用户进行验证,并在验证通过后,与所述第三方系统对接。
在一个示例中,构建第三方扩展适配器,包括:根据预先封装的公共接口,构建第三方扩展适配器。
在一个示例中,所述公共接口中的公共方法包括移动入口、单点集成认证、用户映射、移动功能分组以及用户映射登录认证、操作日志。
在一个示例中,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册,包括:通过oauth2.0认证方式,获取所述第三方系统用户的配置参数;根据所述配置参数,调用所述第三方系统用户的移动端接口,实现安全认证,完成注册。
在一个示例中,根据所述访问请求,对所述第三方系统用户进行验证,包括:根据所述访问请求,获取对应的访问令牌;确定与所述访问令牌匹配的第三方系统用户的配置参数以及用户映射,对所述第三方系统用户进行验证。
在一个示例中,所述方法还包括:若不存在与所述访问令牌匹配的用户映射,则向所述第三方系统用户发送认证请求,进行用户认证。
在一个示例中,构建第三方扩展适配器之前,所述方法还包括:确定所述第三方系统为预设的常用第三方系统;根据预设的配置参数,与所述第三方系统对接。
在一个示例中,所述方法还包括:从所有应用中,确定允许向第三方系统发布的应用。
在一个示例中,所述方法还包括:确定应用的使用权限,并将不同的权限分配给对应的用户。
本申请实施例提供的一种支持可扩展安全对接第三方系统的设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收第三方系统用户的注册请求;
构建第三方扩展适配器,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册;
接收第三方系统用户的访问请求;
根据所述访问请求,对所述第三方系统用户进行验证,并在验证通过后,与所述第三方系统对接。
本申请实施例提供一种支持可扩展安全对接第三方系统的方法及设备,至少包括以下有益效果:通过完整的erp安全认证过程扩展框架,让第三系统单点接入erp系统。通过一套代码,确定不同第三方系统的配置参数,为第三方系统构建第三方扩展适配器,能够以极低的代码量,实现对第三方系统的扩展对接。并且,通过确定第三方系统对接的固定参数,能够节省扩展时间,减少部分扩展操作,提高扩展对接效率。此外,erp系统对第三方系统的安全授权与认证,能够有效提高第三方系统的认证安全。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种支持可扩展安全对接第三方系统的方法流程图;
图2为本申请实施例提供的erp系统内部应用管理示意图;
图3为本申请实施例提供的另一种支持可扩展安全对接第三方系统的方法流程图;
图4为本申请实施例提供的支持可扩展安全对接第三方系统的设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种支持可扩展安全对接第三方系统的方法流程图,具体包括以下步骤:
s101:接收第三方系统用户的注册请求。
s102:构建第三方扩展适配器,通过预设的安全机制,对第三方系统用户进行安全授权并注册。
在本申请实施例中,第三方系统用户在首次登录对接erp系统中的应用时,需要经过单点注册,获取安全授权,才能进行登录。于是,erp系统中的服务器可接收来自第三方系统用户的单点注册请求。
之后,服务器可根据第三方系统用户的注册请求,构建与第三方系统对应的第三方扩展适配器,并利用第三方扩展适配器,以及预设的安全机制,对第三方系统用户进行安全授权,完成注册过程。
在一个实施例中,由于不同的第三方系统与第三方扩展适配器是一一对应的,因此,在向第三方系统安全授权的过程中,构建第三方扩展适配器是必不可少的操作。
对此,服务器可预先将若干公共方法封装在公共接口中,以供构建第三方扩展适配器使用。于是,服务器在构建第三方扩展适配器时,可直接调用预先封装好的公共接口,利用公共接口中集成的公共方法,构建第三方扩展适配器。这样能够减少构建第三方扩展适配器的工作量,实现对接第三方的快速扩展与构建,提高对接效率。
在一个实施例中,公共接口中封装的公共方法可包括erp系统的移动入口、单点集成认证、用户映射、移动功能分组以及用户映射登录认证、操作日志等。
在一个实施例中,服务器在对第三方系统进行安全授权的过程中,可通过预设的安全机制(如oauth2.0认证方式),获取第三方系统用户的配置参数。之后,服务器可根据获取到的配置参数,调用第三方系统用户的移动端接口,实现对第三方系统的安全认证,并完成第三方系统的单点注册。
具体的,第三方系统用户的配置参数可包括扩展程序集、扩展类等固定参数,还包括第三方系统应用的标识、密钥、服务器、模块编号,第三方系统连接的erp系统中的实例编号、域名等个性化参数。
s103:接收第三方系统用户的访问请求。
s104:根据访问请求,对第三方系统用户进行验证,并在验证通过后,与第三方系统对接。
在本申请实施例中,第三方系统在erp系统中完成单点注册后,可通过模拟登录的方式,使用erp系统提供的应用。于是,服务器可接收来自第三方系统用户的访问请求。之后,服务器可根据访问请求,对第三方系统用户进行验证,确认第三方系统用户的合法性,并在验证通过后,与第三方系统进行对接,向第三方系统提供应用服务。
在一个实施例中,服务器根据访问请求,对第三方系统用户进行验证的步骤具体包括:
第一,服务器根据接收到的访问请求,获取对应的访问令牌。其中,访问令牌为erp系统预先发放给第三方系统用户的,是第三方系统用户访问erp系统的依据。访问令牌可包括第三方系统用户的标识、访问权限等。
第三方系统用户在向erp系统发送访问请求时,可在访问请求中携带访问令牌。若访问请求中没有访问令牌,则erp系统的服务器可向第三方系统用户发送请求,以获取第三方系统用户持有的访问令牌。
第二,服务器确定erp系统中与访问令牌匹配的第三方系统用户的配置参数。
具体的,第三方系统用户预先在完成单点注册后,erp系统服务器即可对第三方系统用户的配置参数进行存储。于是,服务器在接收到第三方系统用户的访问请求后,可根据访问令牌中第三方系统用户的标识,从存储的配置参数中,确定与访问令牌相匹配的标识,并确定第三方用户的身份信息。
若erp系统中存在与访问令牌匹配的配置参数,表示第三方系统预先已完成注册,实现了安全授权,并存在与之相对应的第三方扩展适配器。于是,服务器可确认第三方系统的身份,并允许第三方系统与erp系统对接。
若erp系统中不存在与访问令牌匹配的配置参数,则服务器无法确定第三方系统的身份,未对其进行安全授权,则服务器可不允许第三方系统与erp系统对接,并拒绝其访问请求。
第三,服务器确定erp系统中与访问令牌匹配的第三方系统用户的用户映射。其中,用户映射表示用户的账号信息。
具体的,第三方系统用户在初次登录erp系统时,erp系统中不存在其用户映射,则服务器需向用户发送认证请求,由用户确认其账号信息,完成用户认证,实现模拟登录。若用户无法通过erp用户认证,表示其账号信息有误,则无法实现登录。
在初次登录后,erp系统可对用户的账号信息进行存储,形成用户映射。于是,第三方系统用户再次登录erp系统时,服务器可根据用户标识,从存储的用户映射中,确定与其相匹配的用户映射,并实现登录。
在一个实施例中,针对部分应用频率较高、使用范围广、用户量大的第三方系统,erp系统可确定预设的常用第三方系统。针对常用第三方系统,erp系统可预先为其确定设置好的配置参数。
于是,服务器在接收到注册请求后,可根据第三方系统的标识,对第三方系统的身份进行判断。若第三方系统为预设的常用第三方系统,则服务器无需为其构建第三方扩展适配器,而可直接采用预设的配置参数,将第三方系统与erp系统进行对接。例如,钉钉,企业微信,等等。这样能够减少常用第三方系统的扩展操作,节省扩展第三方系统的时间,提高系统对接效率,方便用户使用。
在一个实施例中,erp系统中包括各种不同的应用。服务器可根据各个应用的状态,从所有应用中,确定允许向第三方系统发布的应用。若应用的状态为“启用”,则服务器可允许将该应用发布到第三方系统中,向第三方系统提供服务。若应用的状态为“禁用”,则服务器不向第三方系统发布该应用,第三方系统无法使用该应用。这样能够实现对erp系统的内部应用的统一管理与控制。
如图2所示为erp系统内部应用管理示意图。在图2中,erp系统的内部应用包括工作计划、一般任务、我的请求、待办任务、待审批等。各应用包括图标、应用类别、简介、状态、分组信息、是否必装、使用设备、版本、最后修改时间等属性。其中,“状态”属性用于表示应用是否允许被发布到第三方系统中。
在一个实施例中,erp系统服务器可确定应用的使用权限,并将不同的权限分配给对应的用户账号。于是,第三方系统在对接erp系统后,可直接继承erp系统中设置的权限信息,而无需在其系统中再次进行权限分配。这样能够实现erp系统的权项控制,降低第三方系统的权限分配复杂度。
在本申请实施例中,通过完整的erp安全认证过程扩展框架,让第三系统单点接入erp系统。通过一套代码,确定不同第三方系统的配置参数,为第三方系统构建第三方扩展适配器,能够以极低的代码量,实现对第三方系统的扩展对接。并且,通过确定第三方系统对接的固定参数,能够节省扩展时间,减少部分扩展操作,提高扩展对接效率。此外,erp系统对第三方系统的安全授权与认证,能够有效提高第三方系统的认证安全。
图3为本申请实施例提供的另一种支持可扩展安全对接第三方系统的方法流程图。
如图3所示,除企业微信、钉钉等常用第三方系统以外的其他第三方系统,可通过调用erp系统的iapplinkservice接口服务,请求访问erp系统。erp系统可根据第三方系统的配置参数,构建第三方扩展适配器,并对第三方系统进行安全授权。之后,erp系统可根据第三方系统的访问令牌,对第三方系统用户进行验证,确定是否存在用户映射。若存在用户映射,则服务器可进行模拟登录,确认第三方系统与erp系统的对接。若不存在用户映射,则服务器可进行用户认证,并在认证通过后再进行模拟登录。
需要说明的是,由于图1所示的方法与图3所示的方法本质上相同,因此,图3的方法流程中未详述的部分,具体可参考图1的相关说明,本申请在此不再赘述。
以上为本申请实施例提供的支持可扩展安全对接第三方系统的方法,基于同样的发明思路,本申请实施例还提供了相应的支持可扩展安全对接第三方系统的设备,如图4所示。
图4为本申请实施例提供的支持可扩展安全对接第三方系统的设备结构示意图,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收第三方系统用户的注册请求;
构建第三方扩展适配器,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册;
接收第三方系统用户的访问请求;
根据所述访问请求,对所述第三方系统用户进行验证,并在验证通过后,与所述第三方系统对接。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备与方法是一一对应的,因此,设备也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
1.一种支持可扩展安全对接第三方系统的方法,其特征在于,包括:
接收第三方系统用户的注册请求;
构建第三方扩展适配器,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册;
接收第三方系统用户的访问请求;
根据所述访问请求,对所述第三方系统用户进行验证,并在验证通过后,与所述第三方系统对接。
2.根据权利要求1所述的方法,其特征在于,构建第三方扩展适配器,包括:
根据预先封装的公共接口,构建第三方扩展适配器。
3.根据权利要求2所述的方法,其特征在于,所述公共接口中的公共方法包括移动入口、单点集成认证、用户映射、移动功能分组以及用户映射登录认证、操作日志。
4.根据权利要求1所述的方法,其特征在于,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册,包括:
通过oauth2.0认证方式,获取所述第三方系统用户的配置参数;
根据所述配置参数,调用所述第三方系统用户的移动端接口,实现安全认证,完成注册。
5.根据权利要求1所述的方法,其特征在于,根据所述访问请求,对所述第三方系统用户进行验证,包括:
根据所述访问请求,获取对应的访问令牌;
确定与所述访问令牌匹配的第三方系统用户的配置参数以及用户映射,对所述第三方系统用户进行验证。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若不存在与所述访问令牌匹配的用户映射,则向所述第三方系统用户发送认证请求,进行用户认证。
7.根据权利要求1所述的方法,其特征在于,构建第三方扩展适配器之前,所述方法还包括:
确定所述第三方系统为预设的常用第三方系统;
根据预设的配置参数,与所述第三方系统对接。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所有应用中,确定允许向第三方系统发布的应用。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定应用的使用权限,并将不同的权限分配给对应的用户。
10.一种支持可扩展安全对接第三方系统的设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收第三方系统用户的注册请求;
构建第三方扩展适配器,通过预设的安全机制,对所述第三方系统用户进行安全授权并注册;
接收第三方系统用户的访问请求;
根据所述访问请求,对所述第三方系统用户进行验证,并在验证通过后,与所述第三方系统对接。
技术总结