CN113452677A - 一种请求处理方法、系统、设备以及介质 - Google Patents
一种请求处理方法、系统、设备以及介质 Download PDFInfo
- Publication number
- CN113452677A CN113452677A CN202110593245.XA CN202110593245A CN113452677A CN 113452677 A CN113452677 A CN 113452677A CN 202110593245 A CN202110593245 A CN 202110593245A CN 113452677 A CN113452677 A CN 113452677A
- Authority
- CN
- China
- Prior art keywords
- token
- request
- service
- service request
- verification
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000012795 verification Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 20
- 239000003999 initiator Substances 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000013475 authorization Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种请求处理方法,包括在服务端执行以下步骤:接收业务请求并对所述业务请求中携带的验证码进行验证;响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;将所述令牌添加到所述业务请求中;将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案基于流量劫持技术,将消费者的请求数据劫持,然后根据请求数据的有效性,在请求数据端自动添加有效的请求头信息,达到代码无侵入而能保证请求到达业务容器添加了token的效果。
Description
技术领域
本发明涉及通信领域,具体涉及一种请求处理方法、系统、设备以及存储介质。
背景技术
在开发过程中,随着整个系统变得庞大而难以应对,许多企业开始倾向于将其分解开来,转变为微服务架构。安全对于微服务这样的分布式系统来说至关重要。来源身份认证,也称为终端用户身份认证:对来自终端用户或设备的原始客户端请求进行验证,这是一种比较常见的安全认证方式。为了实现请求级别的身份认证,需要用户携带访问应用所需的凭据。jwt token就是一种流行的实践。Jwt又名JSON Web Token,通过一种约定的形式,可以携带约定信息在请求头的任何位置(如header和query)。JWT是由三段信息构成的,分别为Header,Payload和Signature。其中Payload是存放私有声明的地方,私有声明可以是提供者和消费者所共同定义的声明,因此Payload可以作为两者约定信息的理想存放位置。在消费者使用生产者提供的服务时,消费者需要在访问时候携带token,如果请求是在客户端发起,那么就需要在代码中处理生成token的业务性代码。如果访问的服务改变请求策略,或者所约定的token过期,那么就需要客户端更改业务代码。更新客户端访问所需要携带的token。这样侵入性较强的行为往往给开发带来了很多的不确定性。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种请求处理方法,包括在服务端执行以下步骤:
接收业务请求并对所述业务请求中携带的验证码进行验证;
响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
将所述令牌添加到所述业务请求中;
将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
在一些实施例中,还包括:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
在一些实施例中,接收业务请求,进一步包括:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
在一些实施例中,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种请求处理系统,包括:
接收验证模块,配置为接收业务请求并对所述业务请求中携带的验证码进行验证;
生成模块,配置为响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
添加模块,配置为将所述令牌添加到所述业务请求中;
转发模块,配置为将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
在一些实施例中,还包括注册模块,配置为:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种请求处理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种请求处理方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案通过内置sidecar伴随整个容器的生命周期,劫持来自和它关联的工作负载的所有端口的请求,可以灵活对流量进行监控,以及改动。这样可以用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。从而将与token有关的业务剥离代码,前期利用权限校验装置检查pass码,然后利用istio微服务框架的流量劫持技术,对来自终端用户的请求流量进行更改,添加服务提供者认证策略所要求的token,以期对于前期获得授权的客户端将token处理剥离业务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的请求处理方法的流程示意图;
图2为本发明的实施例提供的请求处理装置的结构示意图;
图3为本发明的实施例提供的请求处理系统的结构示意图;
图4为本发明的实施例提供的计算机设备的结构示意图;
图5为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种请求处理方法,如图1所示,其可以包括在服务端执行以下步骤:
S1,接收业务请求并对所述业务请求中携带的验证码进行验证;
S2,响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
S3,将所述令牌添加到所述业务请求中;
S4,将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
本发明提出的方案基于流量劫持技术,将消费者的请求数据劫持,然后根据请求数据的有效性,利用envoyFilter这个CRD资源,在请求数据端自动添加有效的请求头或者query信息,达到代码无侵入而能保证请求到达业务容器添加了token的效果。
在一些实施例中,还包括:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
具体的,当使用Istio作为微服务框架时,Istio提供两种类型的身份认证:服务到服务身份认证和终端用户身份认证。在进行终端用户身份认证时候,由客户端或者用户直接发起请求访问服务提供者。服务提供者有权自定义请求策略,用于认证和授权。由于策略可以随时被更新,甚至jwt token也会有过期时间,客户端或者用户需要根据策略的不断调整携带的请求头内容,甚至格式和位置。这种策略变更会造成不断的客户端代码改动,无疑会增加开发负担,也不适用于生产环境。而通过消费者可以向生产者进行注册,该注册信息可以携带消费者的基本信息,基于消费者的基本信息,生产者可以向消费者提供一个pass码,pass码不会随着生产者的验证策略的变化而变化。这样用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。
例如,存在服务A作为提供者,用户或者客户端想使用其提供的服务,服务A可以先配置策略。终端用户身份认证的时候一方面可以采用即用即生成的方式,添加策略所需要的请求内容,这种对代码的侵入性比较强;或者可以先在A中获取授权,同时获取一个固定的pass码,不管A的策略如何变更,jwt中的payload是否更改,携带这个固定的pass码都会使请求有权访问。本发明提出的方案会根据这个pass码来决定是否给终端用户请求自动生成并添加有效请求信息,做到了代码无侵入更改请求内容。
在一些实施例中,接收业务请求,进一步包括:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
具体的,如图2所示,Istio作为微服务框架,最大的特点就是可以使用sidecar模式,在每个业务容器旁边自动启用一个劫持容器,伴随主业务容器的整个生命周期,同时劫持来自和它关联的工作负载的所有端口的请求,然后转发到对应的主容器。这样,当消费者发出访问请求,除了业务容器,还需要一个sidecar类型的容器,这个sidecar容器伴随着整个pod的生命周期,同时劫持来自外部的所有流量,进而利用该容器实现pass码的校验和请求头添加。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
具体的,如图2所示,当请求端需要携带前期已经注册过的pass码,劫持的请求进入权限校验及token生成装置。权限校验检验pass码是否有效。如果无效则认为不允许为请求自动增加请求头内容,否则调用策略下发装置实现获取服务提供者的策略,根据策略生成可用token。然后在token生成装置中获取token,利用istio envoyFiler这个CRD资源,将生成的token添加到请求流量中。添加的位置以及token的具体参数都是灵活根据服务设置的策略。
在一些实施例中,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
具体的,如图2所示,服务生产者A为消费者提供服务,出于安全考虑,可以通过自定义策略配置装置,为此服务配置权限。比如,只有用户或终端携带请求头中必须包含在系统中注册过的消费者的用户信息,才能够有权限使用A提供的服务。甚至,生产者A可以要求用户的请求中携带jwt token,此token中携带了更加复杂的权限信息,包括issuer,过期时间等。这些策略是服务生产者配置的,目的是为了认证和授权。当然,在本发明的实施例中,可以在token生成装置中根据服务生产者配置的策略生成相应的token,并利用请求头添加装置将其添加到消费者发出的请求中。
在一些实施例中,如图2所示,可以利用策略下发装置监控生产者的自定义策略,策略下发装置可以采用list/watch机制。当策略变更(包括增,删,改)时候被触发,将生产者自定义的策略转化为系统可识别的校验参数,用于请求者携带参数的校验(权限校验装置)。同时,此装置还可以与权限校验装置联动,生产者将具有权限的消费者的请求头中自动增加。
本发明提出的方案通过内置sidecar伴随整个容器的生命周期,劫持来自和它关联的工作负载的所有端口的请求,可以灵活对流量进行监控,以及改动。这样可以用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。从而将与token有关的业务剥离代码,前期利用权限校验装置检查pass码,然后利用istio微服务框架的流量劫持技术,对来自终端用户的请求流量进行更改,添加服务提供者认证策略所要求的token,以期对于前期获得授权的客户端将token处理剥离业务。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种请求处理系统400,如图3所示,包括:
接收验证模块401,配置为接收业务请求并对所述业务请求中携带的验证码进行验证;
生成模块402,配置为响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
添加模块403,配置为将所述令牌添加到所述业务请求中;
转发模块404,配置为将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
本发明提出的方案基于流量劫持技术,将消费者的请求数据劫持,然后根据请求数据的有效性,利用envoyFilter这个CRD资源,在请求数据端自动添加有效的请求头或者query信息,达到代码无侵入而能保证请求到达业务容器添加了token的效果。
在一些实施例中,还包括注册模块,配置为:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
具体的,当使用Istio作为微服务框架时,Istio提供两种类型的身份认证:服务到服务身份认证和终端用户身份认证。在进行终端用户身份认证时候,由客户端或者用户直接发起请求访问服务提供者。服务提供者有权自定义请求策略,用于认证和授权。由于策略可以随时被更新,甚至jwt token也会有过期时间,客户端或者用户需要根据策略的不断调整携带的请求头内容,甚至格式和位置。这种策略变更会造成不断的客户端代码改动,无疑会增加开发负担,也不适用于生产环境。而通过消费者可以向生产者进行注册,该注册信息可以携带消费者的基本信息,基于消费者的基本信息,生产者可以向消费者提供一个pass码,pass码不会随着生产者的验证策略的变化而变化。这样用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。
例如,存在服务A作为提供者,用户或者客户端想使用其提供的服务,服务A可以先配置策略。终端用户身份认证的时候一方面可以采用即用即生成的方式,添加策略所需要的请求内容,这种对代码的侵入性比较强;或者可以先在A中获取授权,同时获取一个固定的pass码,不管A的策略如何变更,jwt中的payload是否更改,携带这个固定的pass码都会使请求有权访问。本发明提出的方案会根据这个pass码来决定是否给终端用户请求自动生成并添加有效请求信息,做到了代码无侵入更改请求内容。
在一些实施例中,接收验证模块401还配置为:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
具体的,如图2所示,Istio作为微服务框架,最大的特点就是可以使用sidecar模式,在每个业务容器旁边自动启用一个劫持容器,伴随主业务容器的整个生命周期,同时劫持来自和它关联的工作负载的所有端口的请求,然后转发到对应的主容器。这样,当消费者发出访问请求,除了业务容器,还需要一个sidecar类型的容器,这个sidecar容器伴随着整个pod的生命周期,同时劫持来自外部的所有流量,进而利用该容器实现pass码的校验和请求头添加。
在一些实施例中,添加模块403还配置为:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
在一些实施例中,添加模块403还配置为:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
具体的,如图2所示,当请求端需要携带前期已经注册过的pass码,劫持的请求进入权限校验及token生成装置。权限校验检验pass码是否有效。如果无效则认为不允许为请求自动增加请求头内容,否则调用策略下发装置实现获取服务提供者的策略,根据策略生成可用token。然后在token生成装置中获取token,利用istio envoyFiler这个CRD资源,将生成的token添加到请求流量中。添加的位置以及token的具体参数都是灵活根据服务设置的策略。
在一些实施例中,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
具体的,如图2所示,服务生产者A为消费者提供服务,出于安全考虑,可以通过自定义策略配置装置,为此服务配置权限。比如,只有用户或终端携带请求头中必须包含在系统中注册过的消费者的用户信息,才能够有权限使用A提供的服务。甚至,生产者A可以要求用户的请求中携带jwt token,此token中携带了更加复杂的权限信息,包括issuer,过期时间等。这些策略是服务生产者配置的,目的是为了认证和授权。当然,在本发明的实施例中,可以在token生成装置中根据服务生产者配置的策略生成相应的token,并利用请求头添加装置将其添加到消费者发出的请求中。
在一些实施例中,如图2所示,可以利用策略下发装置监控生产者的自定义策略,策略下发装置可以采用list/watch机制。当策略变更(包括增,删,改)时候被触发,将生产者自定义的策略转化为系统可识别的校验参数,用于请求者携带参数的校验(权限校验装置)。同时,此装置还可以与权限校验装置联动,生产者将具有权限的消费者的请求头中自动增加。
本发明提出的方案通过内置sidecar伴随整个容器的生命周期,劫持来自和它关联的工作负载的所有端口的请求,可以灵活对流量进行监控,以及改动。这样可以用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。从而将与token有关的业务剥离代码,前期利用权限校验装置检查pass码,然后利用istio微服务框架的流量劫持技术,对来自终端用户的请求流量进行更改,添加服务提供者认证策略所要求的token,以期对于前期获得授权的客户端将token处理剥离业务。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
S1,接收业务请求并对所述业务请求中携带的验证码进行验证;
S2,响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
S3,将所述令牌添加到所述业务请求中;
S4,将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
在一些实施例中,还包括:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
在一些实施例中,接收业务请求,进一步包括:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
在一些实施例中,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
本发明提出的方案通过内置sidecar伴随整个容器的生命周期,劫持来自和它关联的工作负载的所有端口的请求,可以灵活对流量进行监控,以及改动。这样可以用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。从而将与token有关的业务剥离代码,前期利用权限校验装置检查pass码,然后利用istio微服务框架的流量劫持技术,对来自终端用户的请求流量进行更改,添加服务提供者认证策略所要求的token,以期对于前期获得授权的客户端将token处理剥离业务。
基于同一发明构思,根据本发明的另一个方面,如图5所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
S1,接收业务请求并对所述业务请求中携带的验证码进行验证;
S2,响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
S3,将所述令牌添加到所述业务请求中;
S4,将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
在一些实施例中,还包括:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
在一些实施例中,接收业务请求,进一步包括:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
在一些实施例中,将所述令牌添加到所述业务请求中,进一步包括:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
在一些实施例中,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
本发明提出的方案通过内置sidecar伴随整个容器的生命周期,劫持来自和它关联的工作负载的所有端口的请求,可以灵活对流量进行监控,以及改动。这样可以用固定的pass码代替灵活多变的策略配置,可以解决业务代码处理token变更或者过期等场景,无侵入代码就可以做到istio微服务框架下的终端用户身份认证。从而将与token有关的业务剥离代码,前期利用权限校验装置检查pass码,然后利用istio微服务框架的流量劫持技术,对来自终端用户的请求流量进行更改,添加服务提供者认证策略所要求的token,以期对于前期获得授权的客户端将token处理剥离业务。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种请求处理方法,其特征在于,包括在服务端执行以下步骤:
接收业务请求并对所述业务请求中携带的验证码进行验证;
响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
将所述令牌添加到所述业务请求中;
将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
2.如权利要求1所述的方法,其特征在于,还包括:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
3.如权利要求1所述的方法,其特征在于,接收业务请求,进一步包括:
创建劫持容器;
利用所述劫持容器劫持所述业务请求以进行后续所述令牌的添加和将添加有所述令牌的业务请求的转发。
4.如权利要求1所述的方法,其特征在于,将所述令牌添加到所述业务请求中,进一步包括:
根据所述策略确定将所述令牌添加到所述业务请求中的位置。
5.如权利要求1所述的方法,其特征在于,将所述令牌添加到所述业务请求中,进一步包括:
将包括有发起方、过期时间和/或权限信息的令牌添加到所述业务请求中。
6.如权利要求1所述的方法,其特征在于,还包括:
利用List-watch机制对所述策略进行监控;
响应于所述策略变更,利用变更后的策略生成令牌。
7.一种请求处理系统,其特征在于,包括:
接收验证模块,配置为接收业务请求并对所述业务请求中携带的验证码进行验证;
生成模块,配置为响应于验证通过,获取当前策略并根据所述当前策略生成对应的令牌;
添加模块,配置为将所述令牌添加到所述业务请求中;
转发模块,配置为将添加有所述令牌的业务请求转发至相应的业务容器以进行处理。
8.如权利要求7所述的系统,其特征在于,还包括注册模块,配置为:
响应于接收到注册请求,根据所述注册请求中携带的用户信息生成验证码;
将所述验证码返回所述注册请求的发起方。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-6任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-6任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110593245.XA CN113452677A (zh) | 2021-05-28 | 2021-05-28 | 一种请求处理方法、系统、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110593245.XA CN113452677A (zh) | 2021-05-28 | 2021-05-28 | 一种请求处理方法、系统、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113452677A true CN113452677A (zh) | 2021-09-28 |
Family
ID=77810330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110593245.XA Pending CN113452677A (zh) | 2021-05-28 | 2021-05-28 | 一种请求处理方法、系统、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452677A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745431A (zh) * | 2022-03-18 | 2022-07-12 | 上海道客网络科技有限公司 | 基于边车技术的无侵入式权限认证方法、系统、介质和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645512A (zh) * | 2017-10-20 | 2018-01-30 | 国信嘉宁数据技术有限公司 | 一种身份验证的方法、装置及服务器 |
CN109150910A (zh) * | 2018-10-11 | 2019-01-04 | 平安科技(深圳)有限公司 | 登录令牌生成及验证方法、装置及存储介质 |
CN109660343A (zh) * | 2019-01-17 | 2019-04-19 | 平安科技(深圳)有限公司 | 令牌更新方法、装置、计算机设备及存储介质 |
CN110190971A (zh) * | 2019-06-27 | 2019-08-30 | 浪潮卓数大数据产业发展有限公司 | 一种基于区块链的jwt令牌认证方法 |
US20190273746A1 (en) * | 2018-03-02 | 2019-09-05 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
CN111783051A (zh) * | 2020-07-08 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 身份认证方法及装置和电子设备 |
CN112543169A (zh) * | 2019-09-20 | 2021-03-23 | 中兴通讯股份有限公司 | 一种认证方法、装置、终端及计算机可读存储介质 |
-
2021
- 2021-05-28 CN CN202110593245.XA patent/CN113452677A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107645512A (zh) * | 2017-10-20 | 2018-01-30 | 国信嘉宁数据技术有限公司 | 一种身份验证的方法、装置及服务器 |
US20190273746A1 (en) * | 2018-03-02 | 2019-09-05 | Syntegrity Networks Inc. | Microservice architecture for identity and access management |
CN109150910A (zh) * | 2018-10-11 | 2019-01-04 | 平安科技(深圳)有限公司 | 登录令牌生成及验证方法、装置及存储介质 |
CN109660343A (zh) * | 2019-01-17 | 2019-04-19 | 平安科技(深圳)有限公司 | 令牌更新方法、装置、计算机设备及存储介质 |
CN110190971A (zh) * | 2019-06-27 | 2019-08-30 | 浪潮卓数大数据产业发展有限公司 | 一种基于区块链的jwt令牌认证方法 |
CN112543169A (zh) * | 2019-09-20 | 2021-03-23 | 中兴通讯股份有限公司 | 一种认证方法、装置、终端及计算机可读存储介质 |
CN111783051A (zh) * | 2020-07-08 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 身份认证方法及装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745431A (zh) * | 2022-03-18 | 2022-07-12 | 上海道客网络科技有限公司 | 基于边车技术的无侵入式权限认证方法、系统、介质和设备 |
CN114745431B (zh) * | 2022-03-18 | 2023-09-29 | 上海道客网络科技有限公司 | 基于边车技术的无侵入式权限认证方法、系统、介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12294650B2 (en) | Dynamic authorization and access management | |
US8353016B1 (en) | Secure portable store for security skins and authentication information | |
US8555078B2 (en) | Relying party specifiable format for assertion provider token | |
US8220035B1 (en) | System and method for trusted embedded user interface for authentication | |
US8666904B2 (en) | System and method for trusted embedded user interface for secure payments | |
US20210136068A1 (en) | Telecom node control via blockchain | |
US20130125222A1 (en) | System and Method for Vetting Service Providers Within a Secure User Interface | |
US8738901B2 (en) | Automatic certificate renewal | |
EP3454504B1 (en) | Service provider certificate management | |
CN112131021B (zh) | 一种访问请求处理方法及装置 | |
US9798895B2 (en) | Platform identity architecture with a temporary pseudonymous identity | |
WO2003079167A1 (en) | Single sign-on secure service access | |
CN110519285A (zh) | 用户认证方法、装置、计算机设备和存储介质 | |
CN114117551B (zh) | 一种访问验证方法及装置 | |
Mohamed et al. | Adaptive security architectural model for protecting identity federation in service oriented computing | |
CN113395249A (zh) | 客户端登录认证方法、系统和计算机设备 | |
CN113726774A (zh) | 客户端登录认证方法、系统和计算机设备 | |
CN116707849A (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
US20250039163A1 (en) | Systems and methods for cloud federated token just in time authorization | |
CN113452677A (zh) | 一种请求处理方法、系统、设备以及介质 | |
WO2024114636A1 (zh) | 认证方法、装置、业务平台及存储介质 | |
CN119155129B (zh) | 一种煤矿多服务间快速认证的方法及系统 | |
EP4546713A1 (en) | System and method using self-issued openid provider authorization with extended verifiable attributes | |
Paul | Authentication and Authorization for the front-end web developer | |
Gonçalves | Authentication and accounting framework for SDN controller |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |
|
RJ01 | Rejection of invention patent application after publication |