CN111711610B - 基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 - Google Patents
基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111711610B CN111711610B CN202010435825.1A CN202010435825A CN111711610B CN 111711610 B CN111711610 B CN 111711610B CN 202010435825 A CN202010435825 A CN 202010435825A CN 111711610 B CN111711610 B CN 111711610B
- Authority
- CN
- China
- Prior art keywords
- authentication
- factor
- micro service
- service gateway
- application system
- 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.)
- Active
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
-
- 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
-
- 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/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及信息技术领域,公开了一种基于微服务架构的认证方法、系统及计算设备,该方法包括:微服务网关获取至少一个目标应用系统发送的认证请求;确定目标应用系统对应的认证类别;如果认证类别为单因素认证,调用目标应用系统对应的认证模块,对认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果;如果认证类别为多因素认证,则通过注册在微服务网关上的认证调度模块调用目标应用系统对应的多个认证模块,对认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;微服务网关将第一认证结果或第二认证结果返回目标应用系统。通过上述方式,本发明实施例实现了对多个应用系统发送的认证请求进行认证。
Description
技术领域
本发明实施例涉及信息技术领域,具体涉及一种基于微服务架构的认证方法、系统及计算设备。
背景技术
随着信息技术的快速发展和大数据云时代的到来,在实际应用系统使用过程中,不同应用系统对安全要求是不一样的,因此不同应用系统为适应其安全要求有自定义用户身份认证的需求。
目标的认证方法是通过在应用系统内部已固定的流程和逻辑实现认证。这种认证方式固化在应用系统内部,无法移植。当需要同时对多个应用系统进行认证时,需要在各个应用系统中固化相应的认证逻辑,造成开发成本高。
发明内容
鉴于上述问题,本发明实施例提供了一种基于微服务架构的认证方法、系统及计算设备,用于解决现有技术中存在的同时对多个应用系统认证时开发成本高的问题。
根据本发明实施例的一个方面,提供了一种基于微服务架构的认证方法,所述方法包括:
微服务网关获取至少一个应用系统发送的认证请求,所述认证请求携带目标应用系统的标识信息;
所述微服务网关根据所述标识信息确定所述目标应用系统对应的认证类别,所述认证类别包括单因素认证、多因素认证;
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果;
如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;
所述微服务网关将所述第一认证结果或所述第二认证结果返回所述目标应用系统。
在一种可选的方式中,所述多因素认证包括一次多因素认证;
所述如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果,包括:
如果所述认证类别为多因素认证,则当所述多因素认证为一次多认证因素当认证时,所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的每一个认证因素对应的认证模块,以使各个认证模块对相应的认证因素对应的认证信息进行认证,并生成相应的认证结果;
根据所述认证结果生成所述认证请求对应的第二认证结果。
在一种可选的方式中,所述根据所述认证结果生成所述认证请求对应的第二认证结果,包括:
如果每一个认证因素对应的认证信息的认证结果均为认证通过,则生成认证通过的第二认证结果,否则,生成认证失败的第二认证结果;所述第二认证结果包括所述认证请求对应的流水号和签名。
在一种可选的方式中,所述多因素认证包括多次多因素认证;
所述如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果,包括:
如果所述认证请求对应的认证类别为多因素认证,则当所述多因素认证为多次多因素认证时所述微服务网关通过注册在微服务网关上的认证调度模块获取所述目标应用系统对应的多个认证因素的预设顺序,并按照所述预设顺序依次调用所述目标应用系统对应的认证模块中各个认证因素对应的认证模块,以使各个认证模块对相应的认证因素对应的认证信息进行认证,并生成相应的认证结果;
根据所述认证结果生成所述认证请求对应的第二认证结果。
在一种可选的方式中,所述按照所述预设顺序依次调用所述目标应用系统对应的认证模块中各个认证因素对应的认证模块,包括:
当第一认证因素对应的认证信息认证成功时,所述微服务网关将第一认证因素对应的中间认证结果返回给所述目标应用系统,以使所述目标应用系统向所述微服务网关发送第二认证因素对应的认证信息,所述第一认证因素的次序在所述第二认证因素的次序之前;所述第一认证因素携带第一用户标识,所述第二认证因素携带第二用户标识;
当所述第一用户标识与所述第二用户标识一致时,所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的认证模块中第二认证因素对应的认证模块。
在一种可选的方式中,所述目标应用系统对应的认证模块中一个认证因素对应的认证模块有多个;
所述如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果,包括:
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证调度模块,以使所述认证调度模块确定所述单个认证因素对应的多个认证模块中每一个认证模块的待认证数量,并将所述认证请求分配至待认证数量最少的认证模块。
在一种可选的方式中,认证因素包括第三方系统登录信息;
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果,包括:
如果所述认证类别为单因素认证,则单个认证因素为第三方系统登录信息时,在所述目标应用系统具有所述第三方系统的访问权限的情况下,所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证模块,以使所述认证模块访问第三方系统对应的认证模块,获取第三方系统登录信息,并对所述第三方系统登录信息进行认证,生成第一认证结果。
根据本发明实施例的另一方面,提供了一种基于微服务架构的认证系统,所述认证系统包括微服务网关、多个认证模块和认证调度模块;
所述微服务网关与所述认证模块和所述认证调度模块通信;所述认证调度模块与所述认证模块通信;
所述微服务网关用于获取至少一个目标应用系统发送的认证请求,所述认证请求携带目标应用系统的标识信息;
所述微服务网关还用于根据所述标识信息确定所述目标应用系统对应的认证类别,所述认证类别包括单因素认证、多因素认证;
如果所述认证类别为单因素认证,则所述微服务网关还用于调用注册在微服务网关上的所述目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果,所述目标应用系统为所述多个应用系统中的任意一个应用系统;
如果所述认证类别为多因素认证,则所述微服务网关还用于通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;
所述微服务网关还用于将所述第一认证结果或所述第二认证结果返回所述目标应用系统。
根据本发明实施例的另一方面,提供了一种计算设备,所述计算设备基于微服务架构;所述计算设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的一种基于微服务架构的认证方法对应的操作。
根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备/装置上运行时,使得所述计算设备/装置执行上述的一种基于微服务架构的认证方法对应的操作。
本发明实施例提供的认证方法根据认证请求对应的认证类别是单因素认证还是多因素认证分别采用不同的认证流程,当多个不同的应用系统的用户同时通过本发明实施例提供的认证方法进行认证时,本发明实施例可以根据各应用系统发送的认证请求确定各应用系统的认证类别,根据认证类别确定相应的认证流程,通过各认证流程并对各认证请求进行认证,与现有技术中各应用系统中固化相应的认证逻辑进行认证相比较,本发明实施例的认证方式可以同时供多个应用系统使用,各应用系统不需要在自身的系统中开发相应的认证逻辑,从而节省了开发成本。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种基于微服务架构的认证方法的流程示意图;
图2示出了本发明另一实施例提供的一种基于微服务架构的认证系统的结构示意图;
图3示出了本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
本发明实施例的应用场景是应用系统的用户身份认证。本发明实施例中的应用系统可以是用户终端的网页、应用程序等。本发明实施例提供的身份认证方法基于微服务架构,该微服务架构可以是任意一种微服务架构,例如, spring cloud框架的微服务架构。微服务架构下各个功能模块独立执行一个功能,各功能模块直接通过接口相互调用。当需要调整功能模块时,基于微服务架构便于调整,不会影响其他功能模块的功能。当需要增加功能模块时,增加的功能模块与其他功能模块之间通过接口即可实现相互调用,便于扩容。由于在微服务架构下各个功能模块独立执行,则本发明实施例的认证方法可以同时对多个应用系统进行身份认证,降低多个应用系统身份认证的场景下系统开发成本。下面通过本发明各具体实施方式进行说明。
图1示出了本发明实施例的一种基于微服务架构的认证方法的流程图。如图1所示,该方法包括以下步骤:
步骤110:微服务网关获取至少一个目标应用系统发送的认证请求。
在本步骤中,微服务网关是基于微服务架构搭建的认证系统中的网关。例如,微服务是以spring cloud框架搭建,微服务网关是以spring cloud中的 zuul网关为基础建立的网关。通过微服务网关可以将所有使用该认证系统的应用系统发送的认证请求接入认证系统。本发明实施例的目标应用系统是使用该基于微服务架构的认证系统进行身份认证的应用系统中的至少一个应用系统。
认证请求是用户终端的应用系统发送的,认证请求携带目标应用系统的标识信息以及认证信息。其中,标识信息可以是应用系统的名称或针对不同目标应用系统自定义的各种标识,本发明实施例并不以此为限。认证信息是根据目标应用系统的认证方式由用户输入的信息。本发明实施例并不限定认证信息的类别,例如,认证信息为账号密码组合、人脸图像、指纹等中的一种或多种组合。
步骤120:微服务网关根据标识信息确定目标应用系统对应的认证类别。
在本步骤中,微服务网关接收到目标应用系统发送的认证请求后,根据认证请求中携带的应用系统的标识信息确定各应用系统对应的认证类别。应理解,目标应用系统在使用本发明实施例进行认证时,目标应用系统所使用的认证类别是确定的,且该认证类别携带在应用请求中。在一种具体的实施方式中,微服务网关中存储有认证类别对照表,认证类别对照表中存储有应用系统的标识信息和认证类别的对应关系。根据接收到的认证请求中的标识信息在认证类别对照表中匹配各应用系统对应的认证类别。
本发明实施例中的认证类别包括单因素认证和多因素认证。单因素认证是指认证信息为一个认证因素对应的一种认证信息;多因素认证是指认证信息为多个认证因素对应的多种认证信息。认证因素是指认证方式,例如,账号密码组合为一个认证因素,指纹为一个认证因素。本发明实施例并不限定单因素认证中认证因素对应的具体认证方式,也不对多因素认证中认证因素的个数及各认证因素对应的具体认证方式进行限定。
步骤130:如果认证类别为单因素认证,则微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,对认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果。
在本步骤中,当目标应用系统有多个时,对多个目标应用系统中的任意一个目标应用系统的认证流程相同,在此通过目标应用系统的认证流程为例进行说明。微服务网关中包含与目标应用系统对应的认证模块。当多个目标应用系统同时使用该微服务网关进行认证时,认证请求中携带各目标应用系统的标识码,微服务网关中存储有各标识码对应的认证模块,根据标识码可以确定与每一个目标应用系统对应的认证模块。一个认证类别为单因素认证的目标应用系统对应的认证模块为至少一个,当认证模块为多个时,各认证模块的功能相同。认证模块注册在微服务网关上,在本发明实施例中,各认证模块是以微服务的形式存在的,微服务是指认证模块提供的认证服务。各认证模块各司其职,不同的认证模块可以同时对不同的认证信息进行认证,从而提高了认证服务的效率。
认证模块对认证请求中的单个认证因素对应的认证信息进行认证时的具体认证方式可以为任意一种身份认证方式。例如,目标应用系统对应的认证模块中存储有在目标应用系统上注册的所有用户的用户信息,该用户信息中包括认证因素对应的所有在目标应用系统上注册的用户的认证信息。以单因素认证的应用系统对应的认证因素为账号密码组合为例,当用户在目标应用系统上注册时会输入具体的账号密码,或者,用户在目标应用系统上输入密码并点击注册后,目标系统会为注册用户分配账号。微服务网关将该账号密码组合存储在目标应用系统对应的认证模块中,以便于用户登录时进行认证。当用户在目标应用系统上登录时,目标应用系统显示登录界面,提示用户输入用户名密码,在用户输入并点击登录后,目标应用系统生成认证请求,认证请求中包含用户输入的账号密码组合。如果该账号密码组合存在认证模块中,则认证成功,认证模块生成认证成功的第一认证结果。如果认证模块中不包含认证请求中包含的登录的账号密码组合,或者认证模块中的账号密码组合与认证请求中包含的登录的账号密码组合的对应关系不一致,则认证失败,生成认证失败的第一认证结果。
步骤140:如果认证类别为多因素认证,则微服务网关通过注册在微服务网关上的认证调度模块调用目标应用系统对应的多个认证模块,对认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果。
在本步骤中,目标应用系统对应的认证类别为多因素认证,则目标应用系统对应的认证模块为多个,多个认证模块中包括至少一个与各个认证因素对应的认证模块。例如,认证因素有3个,则认证模块为至少三个,且至少三个认证模块中至少有三个认证模块分别对应三个认证因素。认证类别为多因素认证的目标应用系统需要对多个认证因素对应的认证信息进行认证,因此,基于微服务架构的认证系统中的认证调度模块在目标应用系统对应的多个认证模块之间进行调度,从而为各个认证因素匹配相对应的认证模块。
基于微服务架构的认证系统中的认证调度模块在目标应用系统对应的多个认证模块之间进行调度时的调度方式可以为任意一种。例如,每一个认证因素对应的认证信息均携带有认证方式标识,在认证调度模块中存储有认证方式标识和认证模块之间的对应关系表,认证调度模块根据认证方式标识为每一个认证因素对应的认证信息分配相应的认证模块。对应关系表中的认证方式标识可以为认证因素的名称,或者认证因素对应的自定义标识,认证模块可以是自定义的认证模块的编号,本发明实施例并不以此为限。一个认证因素对应的至少一个认证模块用于对该认证因素对应的认证信息进行认证。如果多个认证模块均认证成功,则生成认证成功的第二认证结果,否则,生成认证失败的第二认证结果。
步骤150:微服务网关将第一认证结果或第二认证结果返回目标应用系统。
在本步骤中,微服务网关将第一认证结果或第二认证结果返回目标应用系统,以使目标应用系统根据第一认证结果或第二认证结果确定是否允许用户登录。应理解,多个应用系统生成的认证结果根据应用系统标识返回至对应的应用系统。
本发明实施例提供的认证方法根据认证请求对应的认证类别是单因素认证还是多因素认证分别采用不同的认证流程,当多个不同的应用系统的用户同时通过本发明实施例提供的认证方法进行认证时,本发明实施例可以根据各应用系统发送的认证请求确定各应用系统的认证类别,根据认证类别确定相应的认证流程,通过各认证流程并对各认证请求进行认证,与现有技术中各应用系统中固化相应的认证逻辑进行认证相比较,本发明实施例的认证方式可以同时供多个应用系统使用,各应用系统不需要在自身的系统中开发相应的认证逻辑,从而节省了开发成本。
在一些实施例中,多因素认证为一次多因素认证。一次多因素认证是指多个认证因素对应的认证信息一次性发送至微服务网关中。在这种情况下,微服务网关通过注册在微服务网关上的认证调度模块调用目标应用系统对应的每一个认证因素对应的认证模块,各个认证模块对相应的认证因素进行认证,并生成相应的认证结果。各个认证模块对相应的认证因素进行认证时,各个认证模块可以同时工作对相应的认证因素对应的认证信息进行认证,也可以按照一次性发送的多个认证因素中各认证因素的排列顺序对各认证因素对应的认证信息分别进行认证,本发明实施例并不以此为限。每一个认证模块在对相应的认证因素认证成功后,均会生成认证结果,认证结果中包括此次认证的流水号和签名。通过记录流水号并签名的方式记录认证结果,便于根据流水号追溯认证结果。一次多因素认证的第二认证结果综合各认证模块的认证结果得出。如果每一个认证模块的认证结果均为认证成功,则得到认证成功的第二认证结果,否则,得到认证失败的第二认证结果。
在一些实施例中,多因素认证为多次多因素认证。如果认证类别为多次多因素认证,微服务网关通过注册在微服务网关上的认证调度模块获取所述目标应用系统对应的多个认证因素的预设顺序,并按照所述预设顺序依次调用所述目标应用系统对应的认证模块中各个认证因素对应的认证模块,以使各个认证模块对相应的认证因素对应的认证信息进行认证,并生成相应的认证结果。
在按照预设顺序进行认证时,当第一认证因素对应的认证信息认证成功时,微服务网关将第一认证因素对应的认证信息的中间认证结果返回给目标应用系统,以使目标应用系统向微服务网关发送第二认证因素对应的认证信息,第一认证因素的次序在第二认证因素的次序之前;第一认证因素携带第一用户标识,第二认证因素携带第二用户标识;当第一用户标识与第二用户标识一致时,微服务网关通过注册在微服务网关上的认证调度模块调用目标应用系统对应的认证模块中第二认证因素对应的认证模块。例如,目标应用系统的认证因素包括三个,分别为账号密码组合、指纹、人脸图像,三个认证因素顺序排列。认证请求中包含的第一个认证因素为账号密码组合,则微服务网关对账号密码组合进行认证,当认证成功时,生成中间认证结果,并返回给目标应用系统,以使目标应用系统发送指纹对应的认证信息,当指纹认证信息通过时,再提示用户发送人脸图像对应的认证信息。应理解,如果账号密码组合未认证成功,则直接生成认证失败的第二认证结果,不再对其他认证因素对应的认证信息进行认证。
应理解,账号密码组合对应的认证信息中包含第一用户标识,指纹和人脸图像对应的认证信息中分别包含第二用户标识和第三用户标识,第一用户标识、第二用户标识和第三用户标识的标识形式相同。例如,第一用户标识、第二用户标识和第三用户标识均为用户的账号。当第二用户标识与第一用户标识不一致时,则停止对指纹进行认证,直接生成认证失败的第二认证结果。通过这种方式,避免了多次上传的认证信息为不同用户的认证信息时造成的认证错误,提高认证结果的可靠性。
在一些实施例中,中间认证结果包括流水号和签名,在收到第二个认证因素时,除了对用户标识进行验证外,同时对第一认证结果的流水号和签名进行验证,以确认第一个认证因素是否有效,进一步提高认证可靠性。
在一些实施例中,目标应用系统对应的多个认证模块中,一个认证因素对应的认证模块有多个,根据多个认证模块的待认证信息数量确定对认证请求中的认证信息进行认证的认证模块。例如,目标用用系统的认证类别为单因素认证,单个认证因素对应的认证模块有3个,各认证模块分别有2、5、8 个待认证信息,则将接收到的认证请求中的认证信息分配给有2个待认证信息的认证模块进行认证。通过这种方式,实现了各认证模块的认证任务量的均衡,提高了认证效率。
在一些实施例中,认证因素为第三方系统登录信息,第三方系统区别与目标应用系统。例如,在登录应用程序A时,可以使用应用程序B登录。当单个认证因素为第三方系统登录信息时,在目标应用系统具有第三方系统的访问权限的情况下,微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,以使该认证模块访问第三方系统对应的认证模块,获取第三方系统登录信息,并对第三方系统登录信息进行认证。通过这种方式,用户可以通过与目标应用系统关联的第三方系统登录,从而避免了用户对目标应用系统进行注册,简化了对目标应用系统的访问流程,提高了用户体验。
图2示出了本发明另一个实施例的一种基于微服务架构的认证系统的结构示意图。如图2所示,该认证系统包括:微服务网关100、多个认证模块 200和认证调度模块300。微服务网关100与认证模块200和认证调度模块300 通;认证调度模块300与认证模块200通信。
微服务网关100用于获取至少一个目标应用系统发送的认证请求,所述认证请求携带目标应用系统的标识信息。
微服务网关100还用于根据所述标识信息确定所述目标应用系统对应的认证类别,所述认证类别包括单因素认证、多因素认证。
如果认证类别为单因素认证,则微服务网关100还用于调用注册在微服务网关上的目标应用系统对应的认证模块200,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果;
如果所述认证类别为多因素认证,则所述微服务网关100还用于通过注册在微服务网关100上的认证调度模块300调用所述目标应用系统对应的多个认证模块200,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;
所述微服务网关100还用于将所述第一认证结果和所述第二认证结果返回所述目标应用系统。
本发明实施例是与方法实施例对应的系统实施例,该系统中各个实体的而具体功能以及该系统实现的技术效果与方法实施例相对应,请参阅方法实施例中的具体说明,在此不做赘述。
图3示出了本发明实施例的一种计算设备的结构示意图,该计算设备基于微服务架构,本发明具体实施例并不对计算设备的具体实现做限定。
如图3所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于基于微服务架构的认证方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC (ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使计算设备执行图1中的步骤110~步骤150。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算设备/装置上运行时,使得所述计算设备/装置执行上述任意方法实施例中的一种基于微服务架构的认证方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算设备执行上述任意方法实施例中的一种基于微服务架构的认证方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的一种基于微服务架构的认证方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种基于微服务架构的认证方法,其特征在于,所述方法包括:
微服务网关获取至少一个目标应用系统发送的认证请求,所述认证请求携带目标应用系统的标识信息;
所述微服务网关根据所述标识信息确定所述目标应用系统对应的认证类别,所述认证类别包括单因素认证、多因素认证;
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果;
如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;
所述微服务网关将所述第一认证结果或所述第二认证结果返回所述目标应用系统。
2.根据权利要求1所述的方法,其特征在于,所述多因素认证包括一次多因素认证;
所述如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果,包括:
如果所述认证类别为多因素认证,则当所述多因素认证为一次多认证因素认证时,所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的每一个认证因素对应的认证模块,以使各个认证模块对相应的认证因素对应的认证信息进行认证,并生成相应的认证结果;
根据所述认证结果生成所述认证请求对应的第二认证结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述认证结果生成所述认证请求对应的第二认证结果,包括:
如果每一个认证因素对应的认证信息的认证结果均为认证通过,则生成认证通过的第二认证结果,否则,生成认证失败的第二认证结果;所述第二认证结果包括所述认证请求对应的流水号和签名。
4.根据权利要求1所述的方法,其特征在于,所述多因素认证包括多次多因素认证;
所述如果所述认证类别为多因素认证,则所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果,包括:
如果所述认证请求对应的认证类别为多因素认证,则当所述多因素认证为多次多因素认证时,所述微服务网关通过注册在微服务网关上的认证调度模块获取所述目标应用系统对应的多个认证因素的预设顺序,并按照所述预设顺序依次调用所述目标应用系统对应的认证模块中各个认证因素对应的认证模块,以使各个认证模块对相应的认证因素对应的认证信息进行认证,并生成相应的认证结果;
根据所述认证结果生成所述认证请求对应的第二认证结果。
5.根据权利要求4所述的方法,其特征在于,所述当所述多因素认证为多次多因素认证时,所述按照所述预设顺序依次调用所述目标应用系统对应的认证模块中各个认证因素对应的认证模块,包括:
当第一认证因素对应的认证信息认证成功时,所述微服务网关将第一认证因素对应的中间认证结果返回给所述目标应用系统,以使所述目标应用系统向所述微服务网关发送第二认证因素对应的认证信息,所述第一认证因素的次序在所述第二认证因素的次序之前;所述第一认证因素携带第一用户标识,所述第二认证因素携带第二用户标识;
当所述第一用户标识与所述第二用户标识一致时,所述微服务网关通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的认证模块中第二认证因素对应的认证模块。
6.根据权利要求1所述的方法,其特征在于,所述目标应用系统对应的认证模块中一个认证因素对应的认证模块有多个;
所述如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果,包括:
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证调度模块,以使所述认证调度模块确定所述单个认证因素对应的多个认证模块中每一个认证模块的待认证数量,并将所述认证请求分配至待认证数量最少的认证模块。
7.根据权利要求1所述的方法,其特征在于,认证因素包括第三方系统登录信息;
如果所述认证类别为单因素认证,则所述微服务网关调用注册在微服务网关上的目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果,包括:
如果所述认证类别为单因素认证,则单个认证因素为第三方系统登录信息时,在所述目标应用系统具有所述第三方系统的访问权限的情况下,所述微服务网关调用注册在微服务网关上的所述目标应用系统对应的认证模块,以使所述认证模块访问第三方系统对应的认证模块,获取第三方系统登录信息,并对所述第三方系统登录信息进行认证,生成第一认证结果。
8.一种基于微服务架构的认证系统,其特征在于,所述认证系统包括微服务网关、多个认证模块和认证调度模块;
所述微服务网关与所述认证模块和所述认证调度模块通信;所述认证调度模块与所述认证模块通信;
所述微服务网关用于获取至少一个目标应用系统发送的认证请求,所述认证请求携带目标应用系统的标识信息;
所述微服务网关还用于根据所述标识信息确定所述目标应用系统对应的认证类别,所述认证类别包括单因素认证、多因素认证;
如果所述认证类别为单因素认证,则所述微服务网关还用于调用注册在微服务网关上的所述目标应用系统对应的认证模块,对所述认证请求中的单个认证因素对应的认证信息进行认证,生成第一认证结果;
如果所述认证类别为多因素认证,则所述微服务网关还用于通过注册在微服务网关上的认证调度模块调用所述目标应用系统对应的多个认证模块,对所述认证请求中的多个认证因素对应的认证信息进行认证,生成第二认证结果;
所述微服务网关还用于将所述第一认证结果或所述第二认证结果返回所述目标应用系统。
9.一种计算设备,其特征在于,所述计算设备基于微服务架构;所述计算设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的一种基于微服务架构的认证方法对应的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备/装置上运行时,使得所述计算设备/装置执行如权利要求1-7任意一项所述的一种基于微服务架构的认证方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010435825.1A CN111711610B (zh) | 2020-05-21 | 2020-05-21 | 基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010435825.1A CN111711610B (zh) | 2020-05-21 | 2020-05-21 | 基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711610A CN111711610A (zh) | 2020-09-25 |
CN111711610B true CN111711610B (zh) | 2022-05-10 |
Family
ID=72537622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010435825.1A Active CN111711610B (zh) | 2020-05-21 | 2020-05-21 | 基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711610B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818182B (zh) * | 2020-08-31 | 2021-07-13 | 四川新网银行股份有限公司 | 一种基于Spring cloud gateway的微服务编排和数据聚合的方法 |
CN111935716B (zh) * | 2020-09-29 | 2021-02-19 | 统信软件技术有限公司 | 一种认证方法、认证系统及计算设备 |
CN112532640B (zh) * | 2020-12-02 | 2023-07-04 | 北京天融信网络安全技术有限公司 | 认证方法、装置、电子设备及计算机可读存储介质 |
CN112600843B (zh) * | 2020-12-15 | 2022-10-04 | 深圳康佳电子科技有限公司 | 一种鉴权方法、存储介质及网关 |
CN112989318B (zh) * | 2021-05-12 | 2021-09-14 | 北京安泰伟奥信息技术有限公司 | 一种认证的检测方法及其系统 |
CN113411349B (zh) * | 2021-07-22 | 2022-09-02 | 用友汽车信息科技(上海)股份有限公司 | 鉴权认证方法、鉴权认证系统、计算机设备和存储介质 |
CN114172739B (zh) * | 2021-12-14 | 2024-01-26 | 杭州数梦工场科技有限公司 | 网关通信方法、装置、电子设备及存储介质 |
CN114915474A (zh) * | 2022-05-18 | 2022-08-16 | 中国工商银行股份有限公司 | 一种基于请求消息的数据处理方法及装置 |
CN114826771B (zh) * | 2022-05-27 | 2024-08-06 | 中国农业银行股份有限公司 | 一种安全认证方法、系统、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
CN109981561A (zh) * | 2019-01-17 | 2019-07-05 | 华南理工大学 | 单体架构系统迁移到微服务架构的用户认证方法 |
CN110602123A (zh) * | 2019-09-21 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种基于微服务的单点证书认证系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102413638B1 (ko) * | 2017-05-30 | 2022-06-27 | 삼성에스디에스 주식회사 | 인증 서비스 시스템 및 방법 |
-
2020
- 2020-05-21 CN CN202010435825.1A patent/CN111711610B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
CN109981561A (zh) * | 2019-01-17 | 2019-07-05 | 华南理工大学 | 单体架构系统迁移到微服务架构的用户认证方法 |
CN110602123A (zh) * | 2019-09-21 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种基于微服务的单点证书认证系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111711610A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111711610B (zh) | 基于微服务架构的认证方法、系统、计算设备及计算机可读存储介质 | |
JP6877460B2 (ja) | バイオメトリックアイデンティティを登録し、バイオメトリックアイデンティティを認証する方法及びデバイス | |
CN111212075B (zh) | 业务请求的处理方法、装置、电子设备及计算机存储介质 | |
US11296881B2 (en) | Using IP heuristics to protect access tokens from theft and replay | |
US20180293580A1 (en) | Systems and methods for processing an access request | |
CN110351269A (zh) | 通过第三方服务器登录开放平台的方法 | |
US9589122B2 (en) | Operation processing method and device | |
CN105959267A (zh) | 单点登录技术中的主令牌获取方法、单点登录方法及系统 | |
US10181024B2 (en) | Method, device, and system for updating authentication information | |
CN111367821B (zh) | 一种软件测试方法及系统 | |
CN111176794A (zh) | 一种容器管理方法、装置及可读存储介质 | |
CN112651011A (zh) | 运维系统登录验证方法、装置、设备以及计算机存储介质 | |
CN110247917B (zh) | 用于认证身份的方法和装置 | |
US20190362333A1 (en) | User authentication systems and methods | |
WO2019140790A1 (zh) | 业务跟踪方法、装置、终端设备及存储介质 | |
CN107453872A (zh) | 一种基于Mesos容器云平台的统一安全认证方法及系统 | |
CN114385995B (zh) | 一种基于Handle的标识解析微服务接入工业互联网的方法及标识服务系统 | |
CN109359449A (zh) | 一种基于微服务的鉴权方法、装置、服务器及存储介质 | |
KR20160018554A (ko) | 신뢰 및 비신뢰 플랫폼에 걸쳐 인터넷 액세스가능 애플리케이션 상태를 로밍하는 기법 | |
WO2021155515A1 (zh) | 物联网设备的注册方法、装置、设备及存储介质 | |
CN110213250B (zh) | 数据处理方法及终端设备 | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN110691089B (zh) | 一种应用于云服务的认证方法、计算机设备及存储介质 | |
CN114579951A (zh) | 业务访问方法、电子设备及存储介质 | |
US8601544B1 (en) | Computer system employing dual-band authentication using file operations by trusted and untrusted mechanisms |
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 | ||
CP03 | Change of name, title or address |
Address after: 518000 4001, Block D, Building 1, Chuangzhi Yuncheng Lot 1, Liuxian Avenue, Xili Community, Xili Street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Zhuyun Technology Co.,Ltd. Address before: 518000 East, 3rd floor, incubation building, China Academy of science and technology, 009 Gaoxin South 1st Road, Nanshan District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN BAMBOOCLOUD TECHNOLOGY CO.,LTD. |
|
CP03 | Change of name, title or address |