CN113783695B - 一种微服务架构的客户端信息认证方法及系统 - Google Patents
一种微服务架构的客户端信息认证方法及系统 Download PDFInfo
- Publication number
- CN113783695B CN113783695B CN202110885006.1A CN202110885006A CN113783695B CN 113783695 B CN113783695 B CN 113783695B CN 202110885006 A CN202110885006 A CN 202110885006A CN 113783695 B CN113783695 B CN 113783695B
- Authority
- CN
- China
- Prior art keywords
- information
- user
- token
- client
- server
- 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
- 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
- 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
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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/3247—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 digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于互联网WEB应用用户身份安全核验及权限认证技术领域,公开了一种微服务架构的客户端信息认证方法及系统,过程为客户端发出访问请求,首先通过负载均衡将请求转发至服务端集群,请求若未携带JWTtoken令牌则将其转发至微服务认证中心模块进行信息注册并将信息存储于服务端关系数据库中做持久化存储后用户进行客户端登录操作,用户登录时对比核验,核验信息无误后微服务认证中心通过加密私钥将用户信息封装JWTtoken令牌,服务端返回处理结果;客户端设置拦截器,用户携带令牌继续访问,服务端各个子微服务模块核验令牌时效性后使用解密公钥对令牌信息解密,获取用户信息并将服务端解密公钥缓存于Redis数据库中,提升系统时效性与安全性。
Description
技术领域
本发明属于互联网WEB用户身份安全核验及权限认证技术领域,尤其涉及一种微服务架构的客户端信息认证方法及系统。
背景技术
目前:随着社会技术的快速发展,人们关于互联网的业务需求也随之提高,传统的单体应用由于其代码耦合性高、难以扩展和维护等问题日渐被用户所诟病。在此前提下,微服务架构由于其代码冗余度低,易于后期维护扩展等优势日渐成为目前的主流信息系统架构方式,但由于将整体系统拆分为多个子服务模块,服务与服务之间通信的访问信息有高效认证成为目前的重要问题。
传统的单体应用通过使用session通信来保持系统用户的信息安全性与一致性,但由于session是服务端的会话通信方式,对服务端十分依赖并且用户信息以散列表的形式临时存储在服务端,当访问用户增多,存储在服务端的用户信息所占内存越来越大,最终影响整体系统的服务性能。此外,在分布式微服务系统中,服务端以集群的方式部署,当采用基于session的用户信息认证方案时,服务端集群中只有提出响应的那台服务器会临时保存用户信息,而当用户继续访问其他业务时,集群中其他服务器未保存用户信息,则拒绝提供服务;若继续后续业务访问,则需要其他子微服务模块多次重新认证或服务端集群中完成session信息复制,通信效率低,影响客户端用户使用体验,因此session不适用于客户端与服务端分离的微服务架构系统子模块间的信息认证。
通过上述分析,传统单体架构系统用户认证信息技术存在的问题及缺陷为:使用基于session的方式完成信息认证。而该方式在微服务架构系统中需要多次重新认证或session复制,通信效率低,影响客户端用户使用体验。
解决以上问题及缺陷的难度为:使用session作为微服务架构系统的信息认证介质,session存储地址在服务端,当用户访问量增多时,该服务端存储用户session过多,影响服务端性能,严重时导致服务端瘫痪,无法正常使用。
解决以上问题及缺陷的意义为:可减轻服务端单体承载压力,加速服务端业务响应速度与性能,提升客户端用户访问体验,维护服务端集群以及整体系统的鲁棒性与稳定性。
发明内容
针对现有技术存在的问题,本发明公开了一种微服务架构的客户端信息认证方法及系统。
本发明是这样实现的,一种微服务架构的客户端信息认证方法,所述微服务架构的客户端信息认证方法包括:
用户通过客户端发出访问请求首先通过Nginx负载均衡将请求转发至服务端统一入口微服务网关;Nginx积极作用:完成客户端访问请求的首次转发,在高并发访问量时降低服务端集群的承载压力,完成第一次高并发访问的处理。
微服务网关对请求进行判断,若未携带JWT token令牌信息则将其转发至微服务用户认证中心进行用户信息注册,并将用户信息存储与服务端的关系型数据库中,完成持久化存储;微服务网关积极作用:微服务网关为服务端各业务子微服务模块的唯一入口,使客户端与服务端隔离,降低了客户端与服务端的耦合性,保证了服务端的独立性与安全性。
用户登录时将客户端所填写的用户信息与预先存储于服务端关系型数据库中的数据进行对比核验,核验信息无误后通过信息认证模块使用加密私钥以JSON WEB TOKEN标准将用户信息封装JWT token令牌,表现样式为JSON形式;首先通过将用户信息与数据库进行校验,查看用户是否具有权限完成后续业务访问请求,数据库中有用户信息则完成校验,校验完成后通过信息认证模块使用预先设计的私钥将用户信息以JSON WEB TOKEN协议封装为包含用户信息的JWT token令牌,令牌的表现形式为JSON样式。JWT token令牌为客户端请求的唯一标识符,客户端通过携带JWT token令牌进行后续的业务访问。
客户端设置拦截器,访问用户必须携带JWT token令牌进行业务访问,访问请求经由微服务网关转发访问服务端业务模块,先经由服务端使用解密公钥对JWT token令牌解析获取客户端用户信息,将用户信息与令牌信息保存于客户端cookie或localStorage中并且将解密公钥存储于微服务服务端Redis数据库中完成数据缓存,提升用户访问效率,便于用户后续访问。拦截器作用:客户端访问请求未携带上一步生成的JWT token令牌时阻止该请求的访问。若访问请求携带JWT token令牌信息首先通过网关入口转发至服务端的子业务模块,目的:验证所携带令牌的有效性与解析令牌包含的用户信息,过程:通过使用公钥对JWT token令牌解密,解密成功后将用户信息以及JWT token令牌存储在客户端cookie或localstorage中,用于后续客户端用户信息回显以及业务访问。
进一步,所述微服务网关将未携带用户令牌信息的请求转发至微服务用户认证中心进行用户信息注册包括用户登录时的用户名,手机号,用户密码等信息。
进一步,所述服务端获取用户端提交的用户信息及访问请求,微服务网关将请求转发至信息认证模块,该模块根据JSON WEB TOKEN协议使用加密私钥对用户信息采用非对称加密算法完成加密操作,最终将生成的JWT token用户信息令牌根据请求转发至具体的服务端服务业务模块。
进一步,所述信息认证模块对JWT token信息进行解析过程包括:
(1)用户每次访问时携带登录时生成的JWT token信息;
(2)服务端利用解密公钥解密令牌信息,核验签名有效与令牌信息有效期后从Payload载荷获取用户信息并将解密存钥存储于服务端redis数据库中;
(3)服务端根据访问请求完成处理并返回相应结果;
所述信息认证模块通过编写JWT工具类完成令牌的生成与校验工作。
进一步,系统中数据存储使用关系型数据库Mysql与非关系型数据库Redis组合存储完成数据存储,具体为:Mysql中存储用户基本信息,如用户名,用户密码,用户手机号以及用户头像等,完成数据持久化存储;Redis中以key-value键值对形式存储服务端微服务模块的解密公钥,key存储服务端特定名称字符串,value存储具体的解密公钥信息。
进一步,所述服务端在获取客户端填写的信息后首先通过数据库完成信息核验,通过核验后经过信息认证模块使用加密私钥生成包含用户信息的唯一JWT token令牌,客户端与服务端之间的交互通信使用Axios(一个基于promise的轻量级http库)具体实现。随后将用户信息与令牌存入本地cookie或localstorage中后通过网关转发至服务端相应的微服务业务模块完成请求处理,最终返回相应的结处理结果。
进一步,生成JWT token令牌的过程为:
(1)在JWT工具类中设置相应的加密私钥与令牌有效时间;
(2)编写相关逻辑代码,将通过核验后的用户名、用户密码以及用户头像等信息根据Json Web Token协议与代码逻辑结合加密私钥封装生成包含用户信息的JWT token令牌;
核验JWT token令牌的过程为:
(1)用户每次访问时携带信息认证模块生成的JWT token信息。
(2)服务端利用缓存于redis中的解密公钥对携带的JWT token信息进行解析,核验令牌信息有效期后获取Payload载荷中有效的用户信息。
(3)服务端处理访问请求后并返回相应结果。
客户端与服务端之间的交互通信使用Axios(一个基于promise的轻量级http库)执行http请求实现。
本发明的另一目的在于提供一种实施所述微服务架构的客户端信息认证方法的微服务架构的客户端信息认证系统,所述微服务架构的客户端信息认证系统包括:
客户端,用于负责用户登录及有效信息获取;
服务端,用于负责登录用户认证、有效信息加密及需求服务提供等功能。
本发明的另一目的在于提供一种所述微服务架构的客户端信息认证方法在客户端与服务端分离中应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明的服务端获取客户端输入的有效信息生成JWT token令牌,通过http进行信息传输完成信息通信。服务端获取的用户有效信息是指通过客户端进行输入,主要包括登录用户名,用户密码,登录手机号以及用户头像等有效信息。用户在客户端点击登录后先通过服务端编写的接口进行信息对比,判断用户信息是否正确,信息验证失败则直接返回登录首页,反之,认证成功则生成包含用户信息的JWT token令牌。服务端根据用户信息以JSON WEB TOKEN协议为标准进行信息数据封装,信息认证模块使用加密私钥和服务端编写的逻辑代码生成具体令牌信息,并设置有效时间验证令牌的时效性。客户端携带JWT token令牌访问服务端业务模块的访问请求先通过负载均衡处理后统一经由微服务网关进行请求转发。客户端携带已生成的JWT token令牌发出访问请求,先由微服务网关转发后通过服务端数据核验模块验证令牌有效时间和使用解密公钥完成信息核验,信息核验无误经由微服务网关转发至目的业务微服务模块,目的微服务模块完成逻辑处理后返回最终结果至客户端。根据不同用户信息生成的每一份JWT token令牌具有唯一标识性。客户端生成JWT token令牌后对服务端进行业务访问时,将用户信息与令牌存储与客户端的cookie或localstorage中。为了进一步提升微服务架构系统的可用性,将服务端解密公钥以key-value键值对形式存储于非关系型数据库redis中,完成信息缓存处理,提升数据处理的时效性。
本发明可用于客户端与服务端分离的微服务架构系统的客户端信息认证方案,可以保证系统间各子微服务模块间的信息认证与通信,提升通信效率及可靠性。
附图说明
图1是本发明实施例提供的微服务架构的客户端信息认证方法流程图。
图2是本发明实施例提供的微服务架构的客户端信息认证系统的结构示意图;
图2中:1、客户端;2、服务端。
图3是本发明实施例提供的微服务架构的客户端信息认证系统的原理图。
图4是本发明实施例提供的微服务架构的客户端信息认证方法的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明公开了一种微服务架构的客户端信息认证方法及系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明公开的微服务架构的客户端信息认证方法包括以下步骤:
S101:用户通过客户端发出访问请求通过Nginx负载均衡器将请求转发至服务端微服务网关。
S102:微服务网关将请求转发至微服务用户认证中心进行用户信息注册,主要包括登陆时必须的用户名,手机号,用户密码等信息,并将其存储与服务端的关系型数据库中。
S103:用户登录时将客户端所填写的用户信息与预先存储于服务端关系型数据库中的数据进行对比核验,核验信息无误后通过微服务认证模块使用加密秘钥以JSON WEBTOKEN标准将用户信息封装JWT token令牌,表现样式为JSON形式。
S104:客户端设置拦截器,访问用户必须携带令牌进行业务访问,访问请求经由微服务网关访问服务端业务模块,先使用解密公钥对JWT token令牌解析获取客户端用户信息,将用户信息与令牌信息保存于客户端cookie中并将解密公钥缓存与服务端redis数据库中,便于用户后续访问。
在本发明的具体实施实例中:客户端通过Vue渐进式JavaScript框架(一种高性能、轻量级的单页面服务渲染框架)构建实现,客户端访问请求第一批并发请求使用Nginx(一种轻量级、高性能的反向代理服务器)完成负载均衡处理,服务端具体通过SpringCloud框架构建微服务主体架构以及使用Spring Boot完成具体的工具类及业务模块开发工作。
在本发明的实施例中:用户在客户端填写相关用户信息并发出访问请求,服务端获取到用户信息及访问请求后通过Nginx负载均衡将请求转发至微服务网关,微服务网关作为服务端唯一入口将请求转发至信息认证模块,该模块通过JSON WEB TOKEN标准协议对采集的用户信息完成封装并使用加密私钥通过非对称加密算法对信息加密最终生成JWTtoken用户令牌后根据请求转发至具体的服务端微服务业务模块。
在本发明的实施例中:服务端获取的用户的信息主要包括用户登录名,用户密码,用户手机号以及用户头像等信息。
在本发明的实施例中:信息认证模块对JWT token信息进行解析过程主要包括:
(1)用户每次访问时携带登录时生成的JWT token信息。
(2)服务端核验令牌信息有效期后利用缓存于redis中的解密公钥对携带的JWTtoken信息进行解析,获取Payload载荷中有效的用户信息。
(3)服务端处理请求返回相应结果。
在本发明的实施例中:系统信息存储使用关系型数据库Mysql与非关系型数据库Redis组合存储完成数据存储,提升系统的有效性与响应时间,具体为:Mysql中存储用户基本信息,如用户名,用户密码,用户手机号以及用户头像等。Redis中以key-value键值对形式存储用于解密JWT token令牌信息的公钥,key存储解密公钥特定名称字符串,value存储服务端具体的解密公钥信息。
在本发明的实施例中:服务端在获取客户端填写的信息后首先通过数据库完成信息核验,通过核验后经过信息认证模块使用加密私钥生成包含用户信息的唯一JWT token令牌,客户端与服务端之间的http通信通过使用Axios(一个基于promise的轻量级http库)执行请求实现。根据客户端发送的请求将令牌存入本地的cookie中后通过网关转发至服务端相应的微服务业务模块完成请求处理,返回最终的处理结果。
在本发明的实施例中:信息认证中心模块主要通过编写JWT工具类完成令牌的生成与校验工作。
在本发明的实施例中:生成JWT token令牌的过程为:
(1)在JWT工具类中设置相应的加密私钥与令牌有效时间。
(2)编写相关逻辑代码,将输入的用户名、用户密码以及用户头像等信息根据JsonWeb Token协议与代码逻辑结合加密私钥封装生成包含用户信息的JWT token令牌。
在本发明的实施例中:核验JWT token令牌的过程为:
(1)用户每次访问时携带登录时生成的JWT token信息。
(2)服务端核验令牌信息有效期后利用缓存于redis中的解密公钥对携带的JWTtoken信息进行解析,获取Payload载荷中有效的用户信息。
(3)服务端处理请求返回相应结果。
在本发明的实施例中:客户端与服务端之间的信息传递通过通过使用Axios(一个基于promise的轻量级http库)执行请求实现服务端与客户端交互通信。
本发明提供的微服务架构的客户端信息认证方法的用户通过客户端入口发出访问请求,请求首先通过nginx负载均衡转发至服务端微服务网关集群再由网关进行二次转发至对应后端模块进行注册,服务端自动获取用户信息并存入数据库,用户登录时将客户端输入信息与服务端数据库中存储信息进行核验,无误后将信息使用加密私钥按照JSONWEB TOKEN标准封装为JWT token令牌进行后续访问。客户端设置拦截器,用户访问时客户端调用服务端方法获取JWT token令牌信息并将其与用户信息存储于客户端cookie或localstorage中,客户端与服务端通信使用Axios(一个基于promise的轻量级http库)执行请求实现,客户端后续访问携带JWT token令牌信息,若访问请求未携带令牌则直接进行访问拦截;服务端根据预先设定有效时间对令牌进行时效核验,时效验证通过后获取redis中缓存的解密公密钥对令牌进行解析获取客户端访问的有效数据,将解析出的有效数据记录于客户端cookie或localstorage中并根据访问目的请求进行相关逻辑处理返回最终结果。
本发明提供的微服务架构的客户端信息认证方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的微服务架构的客户端信息认证方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的微服务架构的客户端信息认证系统包括:
客户端1,用于负责用户登录及有效信息获取。
服务端2,用于负责登录用户认证、有效信息加密及需求服务提供等功能。
下面结合附图对本发明的技术方案作进一步的描述。
Json web token(JWT),是一种基于JSON的开放标准。该token令牌为紧凑且安全的,特别适用于客户端与服务端分离的微服务架构客户端信息认证以及单点登录(SSO)场景。
如图3和图4所示,本发明主要应用与客户端与服务端分离的微服务架构Web用户信息认证领域;具体包括:
客户端模块负责用户登录及访问验证拦截,客户端模块可使用vue渐进式框架构建客户端相应交互信息页。
服务端负责登录用户认证、有效信息加密及需求服务提供等功能,具体可通过Spring Cloud框架集合构建系统服务端主体架构及使用Spring Boot框架为业务模型基底完成服务端相关实现开发。
客户端与服务端之间的令牌信息传递使用Axios(一个基于promise的轻量级http库)实现客户端与服务端交互通信。
本发明具体实现过程为:
第一,用户通过客户端发出目的访问请求,通过Nginx负载均衡分摊至服务器集群的微服务网关进行请求转发,完成流量分摊处理,减轻服务端并发压力。
第二,通过nginx将用户访问信息转发至微服务网关模块,服务端认证模块调用对应数据库信息进行用户信息核对校验。
第三,用户信息校验成功之后,服务端首先获取用户信息后使用加密私钥根据JSON Web Token标准将用户信息封装生成JWT token信息令牌,用户后续携带令牌信息继续相关访问。
第四,服务端目标微服务模块获取到经由统一入口网关传来的访问请求后,使用解密公钥解析令牌信息,获取用户信息,然后将用户身份信息设置于客户端cookie或localstorage中并将服务端解密公钥缓存于redis数据库便于客户端后续访问及使用,最终根据访问目的进行相关逻辑处理后将结果返回至客户端。
客户端配置访问拦截器,当客户端传来的用户信息校验失败时,拦截器根据其配置信息对用户后续访问请求进行拦截并返回客户端首页,提升系统安全性及可用性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种微服务架构的客户端信息认证方法,其特征在于,所述微服务架构的客户端信息认证方法包括:
用户通过客户端发出访问请求通过Nginx负载均衡将请求转发至服务端统一入口微服务网关;
微服务网关判断请求是否携带JWT token令牌,若未携带令牌信息则转发至微服务用户认证中心进行用户信息注册,并将其存储于服务端的关系型数据库中,随后进行登录操作;
用户登录时将客户端所填写的用户信息与预先存储于服务端关系型数据库中的数据进行对比核验,核验信息无误后通过信息认证模块使用加密私钥以JSON WEB TOKEN标准将用户信息封装为JWT token令牌,表现样式为JSON形式;
客户端设置拦截器,访问用户必须携带JWT token令牌进行业务访问,访问请求经由微服务网关转发至服务端业务模块,先经由服务端使用解密公钥对JWT token令牌解析获取客户端用户信息,将用户信息与令牌信息保存于客户端cookie或localstorage中,并将解密公钥缓存于服务端Redis数据库中,便于用户后续访问;
所述服务端获取用户端提交的用户信息及访问请求,微服务网关将请求转发至信息认证模块,通过JSON WEB TOKEN标准协议对采集的用户信息完成封装并通过非对称加密算法对信息加密最终生成JWT token用户令牌,完成登录后根据请求转发至具体的服务端微服务业务模块;
所述信息认证模块对JWT token信息进行解析过程包括:
(1)用户每次访问时携带微服务认证模块生成的JWT token令牌;
(2)服务端利用解密公钥对携带的JWT token令牌信息进行解密处理,核验签名有效与令牌信息有效期后获取Payload载荷中的有效用户信息;
(3)服务端处理请求返回相应结果;
所述信息认证模块通过编写JWT工具类完成令牌的生成与校验工作。
2.如权利要求1所述的微服务架构的客户端信息认证方法,其特征在于,所述微服务网关将请求转发至微服务用户认证中心进行用户信息注册包括用户登录时的用户名,手机号,用户密码信息。
3.如权利要求1所述的微服务架构的客户端信息认证方法,其特征在于,使用关系型数据库Mysql与非关系型数据库Redis组合存储完成数据存储,具体为:Mysql中存储用户基本信息,包括 用户名,用户密码,用户手机号以及用户头像;Redis中以key-value键值对形式缓存服务端微服务的解密公钥信息,key存储令牌解密特定字符串,value存储具体的解密公钥信息,提升系统响应时间及可用性。
4.如权利要求1所述的微服务架构的客户端信息认证方法,其特征在于,所述服务端在获取客户端填写的信息后首先通过关系型数据库完成信息核验,通过核验后经过微服务认证模块使用加密私钥生成包含用户信息的唯一JWT token令牌,客户端与服务端之间的令牌通信通过Axios实现,Axios是一个基于promise的轻量级http库;根据客户端发送的请求将令牌存入本地的cookie中后通过网关转发至服务端相应的微服务业务模块完成请求处理,最终返回相应的结处理结果。
5.如权利要求1所述的微服务架构的客户端信息认证方法,其特征在于,生成JWTtoken令牌的过程为:
(1)在JWT工具类中设置相应的加密私钥与令牌有效时间;
(2)编写相关逻辑代码,将输入的用户名、用户密码以及手机验证码信息通过核验后根据Json Web Token协议与代码逻辑结合加密私钥封装生成包含用户信息的JWT token令牌;
核验JWT token令牌的过程为:
(1)首先根据客户端发送的请求获取具体的JWT token令牌信息;
(2)其次根据工具类中预先设置的令牌有效时间核验令牌是否可用;
(3)使用缓存在redis数据库中解密公钥解析出JWT token中的有效客户端访问信息;
客户端与服务端之间的令牌信息传递使用Axios实现客户端与服务端交互通信,Axios是一个基于promise的轻量级http库。
6.如权利要求1所述的微服务架构的客户端信息认证方法,其特征在于,认证模块使用的加密私钥与使用于访问请求的解密公钥相互匹配并且需要不定期更新。
7.一种实施权利要求1~6任意一项所述微服务架构的客户端信息认证方法的微服务架构的客户端信息认证系统,其特征在于,所述微服务架构的客户端信息认证系统包括:
客户端,用于负责用户登录及有效信息获取;
服务端,用于负责登录用户认证、有效信息加密及需求服务提供功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885006.1A CN113783695B (zh) | 2021-08-03 | 2021-08-03 | 一种微服务架构的客户端信息认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885006.1A CN113783695B (zh) | 2021-08-03 | 2021-08-03 | 一种微服务架构的客户端信息认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113783695A CN113783695A (zh) | 2021-12-10 |
CN113783695B true CN113783695B (zh) | 2022-12-09 |
Family
ID=78836626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110885006.1A Active CN113783695B (zh) | 2021-08-03 | 2021-08-03 | 一种微服务架构的客户端信息认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113783695B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385995B (zh) * | 2022-01-06 | 2024-05-17 | 徐工汉云技术股份有限公司 | 一种基于Handle的标识解析微服务接入工业互联网的方法及标识服务系统 |
CN114928460A (zh) * | 2022-02-14 | 2022-08-19 | 上海大学 | 一种基于微服务架构的多租户应用集成框架系统 |
CN114553410B (zh) * | 2022-02-24 | 2023-10-27 | 重庆邮电大学 | 一种基于接口映射的api网关安全防护方法及其系统 |
CN114363091B (zh) * | 2022-03-02 | 2022-11-15 | 工业互联网创新中心(上海)有限公司 | 一种基于apisix实现平台应用统一登录的方法及系统 |
CN114900366A (zh) * | 2022-05-23 | 2022-08-12 | 海南政法职业学院 | 一种云主机数据访问安全处理方法 |
CN115086003B (zh) * | 2022-06-10 | 2024-03-29 | 上海弘积信息科技有限公司 | 一种负载均衡集中管控系统的网页跳转后的免登录方法 |
CN115086048B (zh) * | 2022-06-20 | 2023-12-15 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN115529314A (zh) * | 2022-09-20 | 2022-12-27 | 北京恩吉鸿业能源科技有限责任公司 | 一种基于Netty服务器集群的通讯方法 |
CN115695018A (zh) * | 2022-11-02 | 2023-02-03 | 四川启睿克科技有限公司 | 基于jwt的对接第三方可配置认证方法 |
CN115442437B (zh) * | 2022-11-07 | 2023-03-28 | 北京智象信息技术有限公司 | 一种token过期自动续签认证方法、装置、设备和介质 |
CN116212398B (zh) * | 2023-03-10 | 2023-11-03 | 广州三七极耀网络科技有限公司 | 一种基于数据中台的游戏管理方法、装置、设备及介质 |
CN116170238B (zh) * | 2023-04-26 | 2023-07-07 | 北京中宏立达科技发展有限公司 | 一种基于服务身份标识密钥的认证方法 |
CN116781359B (zh) * | 2023-06-29 | 2024-02-09 | 徐州工程学院 | 一种使用网络隔离和密码编译的门户安全设计方法 |
CN117057754A (zh) * | 2023-10-10 | 2023-11-14 | 山东威尔梵成数据科技有限责任公司 | 一种校园身份访问认证管理系统 |
CN117453380B (zh) * | 2023-12-25 | 2024-02-23 | 阿里云计算有限公司 | 集群的容器组调度方法、系统以及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
CN110276197A (zh) * | 2019-06-25 | 2019-09-24 | 四川长虹电器股份有限公司 | 基于共享黑名单撤销jwt令牌实时生效的方法 |
EP3618387A1 (en) * | 2018-08-31 | 2020-03-04 | Sap Se | Certificate-initiated access to services |
CN111865920A (zh) * | 2020-06-18 | 2020-10-30 | 多加网络科技(北京)有限公司 | 一种网关认证和身份鉴权的平台及其方法 |
CN112564916A (zh) * | 2020-12-01 | 2021-03-26 | 上海艾融软件股份有限公司 | 应用于微服务架构的访问客户端认证系统 |
CN113055367A (zh) * | 2021-03-08 | 2021-06-29 | 浪潮云信息技术股份公司 | 一种微服务网关鉴权的实现方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10454915B2 (en) * | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10764273B2 (en) * | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
CN112291178B (zh) * | 2019-07-22 | 2024-03-22 | 京东方科技集团股份有限公司 | 一种服务提供方法、装置及电子设备 |
-
2021
- 2021-08-03 CN CN202110885006.1A patent/CN113783695B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3618387A1 (en) * | 2018-08-31 | 2020-03-04 | Sap Se | Certificate-initiated access to services |
CN110086822A (zh) * | 2019-05-07 | 2019-08-02 | 北京智芯微电子科技有限公司 | 面向微服务架构的统一身份认证策略的实现方法及系统 |
CN110276197A (zh) * | 2019-06-25 | 2019-09-24 | 四川长虹电器股份有限公司 | 基于共享黑名单撤销jwt令牌实时生效的方法 |
CN111865920A (zh) * | 2020-06-18 | 2020-10-30 | 多加网络科技(北京)有限公司 | 一种网关认证和身份鉴权的平台及其方法 |
CN112564916A (zh) * | 2020-12-01 | 2021-03-26 | 上海艾融软件股份有限公司 | 应用于微服务架构的访问客户端认证系统 |
CN113055367A (zh) * | 2021-03-08 | 2021-06-29 | 浪潮云信息技术股份公司 | 一种微服务网关鉴权的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113783695A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113783695B (zh) | 一种微服务架构的客户端信息认证方法及系统 | |
CN110086822B (zh) | 面向微服务架构的统一身份认证策略的实现方法及系统 | |
CN106209749B (zh) | 单点登录方法及装置、相关设备和应用的处理方法及装置 | |
CN1323508C (zh) | 一种基于数字证书的单点登录方法 | |
CN109981561A (zh) | 单体架构系统迁移到微服务架构的用户认证方法 | |
US9391978B2 (en) | Multiple access authentication | |
CN112491881B (zh) | 跨平台单点登录方法、系统、电子设备及存储介质 | |
CN106375270B (zh) | 令牌生成并认证的方法及认证服务器 | |
CN103475666B (zh) | 一种物联网资源的数字签名认证方法 | |
US8527762B2 (en) | Method for realizing an authentication center and an authentication system thereof | |
US20090217366A1 (en) | Method For Implementing Unified Authentication | |
US9942200B1 (en) | End user authentication using a virtual private network | |
CN110572258B (zh) | 一种云密码计算平台及计算服务方法 | |
CN105354451B (zh) | 访问鉴权的方法及系统 | |
CN103259663A (zh) | 一种云计算环境下的用户统一认证方法 | |
US20170279798A1 (en) | Multi-factor authentication system and method | |
JP2017509964A (ja) | 異種アイデンティティサービスに基づくユーザの仮想アイデンティティ | |
US11663318B2 (en) | Decentralized password vault | |
CN108616540B (zh) | 一种基于跨平台加密算法与声明式过滤认证的平台认证方法及系统 | |
CN109495486B (zh) | 一种基于JWT的单页Web应用集成CAS的方法 | |
CN112788031A (zh) | 基于Envoy架构的微服务接口认证系统、方法及装置 | |
CN109962892A (zh) | 一种登录应用的认证方法及客户端、服务器 | |
CN111147525A (zh) | 基于api网关的认证方法、系统、服务器和存储介质 | |
US11171958B1 (en) | Secure session sharing between computing devices | |
US11750391B2 (en) | System and method for performing a secure online and offline login process |
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 |