基于RESTful的鉴权方法、网关及鉴权设备技术

技术编号:20369915 阅读:56 留言:0更新日期:2019-02-16 20:04
本发明专利技术是有关于一种基于RESTful的鉴权方法、网关及鉴权设备。该方法包括:接收客户端的登录请求;根据所述登录请求,向鉴权设备发送登录操作请求;接收所述鉴权设备反馈的登录信息及令牌;验证所述令牌;以及在执行所述验证成功时,向应用服务器请求服务。本发明专利技术提供的基于RESTful的鉴权方法、网关及鉴权设备能够在paas云平台环境下实现统一的鉴权服务。

RESTful-based Authentication Method, Gateway and Authentication Equipment

The invention relates to an authentication method, a gateway and an authentication device based on RESTful. The method includes receiving the login request of the client, sending the login operation request to the authentication device according to the login request, receiving the login information and token feedback from the authentication device, verifying the token, and requesting service from the application server when the authentication is successful. The RESTful-based authentication method, gateway and authentication device provided by the invention can realize unified authentication service under the PAAS cloud platform environment.

【技术实现步骤摘要】
基于RESTful的鉴权方法、网关及鉴权设备
本专利技术涉及web应用技术开发
,特别是涉及一种基于RESTful的鉴权方法、网关及鉴权设备。
技术介绍
在PaaS云平台中,微服务架构是IT服务治理的发展趋势。微服务架构是面向服务的架构SOA继续发展的下一步。基本上,这种架构类型是开发软件,网络或移动应用程序作为独立服务套件(又称微服务)的一种特殊方式。这些服务的创建仅限于一个特定的业务功能,如用户管理、用户角色、电子商务车、搜索引擎、社交媒体登录等。此外,它们是完全独立的,也就是说它们可以写入不同的编程语言并使用不同的数据库。集中式服务管理几乎不存在,微服务使用轻量级HTTP、REST或ThriftAPI进行通信。由于微服务上述特点,PaaS云平台中微服务鉴别权限功能必不可少。统一的鉴权服务是云平台必然选择。然而,在PaaS云平台中,微服务架构下的服务基本都是无状态的,传统的使用session的方式不再适用。因此,需要一种能够在PaaS云平台上实现统一鉴权服务的技术方案。
技术实现思路
本专利技术要解决的技术问题是提供一种基于RESTful的鉴权方法、网关及鉴权设备,使得在PaaS云平台上实现了统一的鉴权服务。为解决上述技术问题,本专利技术提供了一种基于RESTful的鉴权方法,应用于网关,所述方法包括:接收客户端的登录请求;根据所述登录请求,向鉴权设备发送登录操作请求;接收所述鉴权设备反馈的登录信息及令牌;验证所述令牌;以及在执行所述验证成功时,向应用服务器请求服务。作为本专利技术技术方案的一种改进,在根据所述登录请求,向鉴权设备发送所述登录请求之前,接收客户端的登录请求之后,还包括:对接收到的所述登录请求进行路径检查。作为本专利技术技术方案的一种改进,验证所述令牌之后,还包括:在执行所述验证不成功时,向所述客户端反馈拒绝服务消息。此外,本专利技术还提供了一种基于RESTful的鉴权方法,应用于鉴权设备,所述方法包括:接收网关发送的登录操作请求;根据所述登录操作请求,执行登录操作;生成与所述登录操作对应的令牌;以及向客户端反馈所述登录操作的登录信息及所述令牌。此外,本专利技术还提供了一种基于RESTful的鉴权方法,应用于网关,所述方法包括:接收第一服务的服务调用请求;向鉴权设备发送校验请求,所述校验请求用于请求对与所述服务调用请求相对应的令牌进行校验;以及在所述校验成功时,向第二服务请求相应的服务。作为本专利技术技术方案的一种改进,在接收第一服务的服务调用请求之后,还包括:检查本地是否有与所述服务调用请求相对应的令牌;以及若没有相对应的令牌,向所述第一服务反馈无令牌拦截消息。此外,本专利技术还提供了一种基于RESTful的鉴权方法,应用于鉴权设备,所述方法包括:接收网关发送的校验请求;根据所述校验请求,对与服务调用请求相对应的令牌执行校验;以及在所述校验成功时,向所述网关反馈校验成功消息。作为本专利技术技术方案的一种改进,在根据所述校验请求,对与服务调用请求相对应的令牌执行校验之后,还包括:在所述校验失败时,向所述第一服务反馈令牌校验失败拦截消息。此外,本专利技术还提供了一种网关,所述网关包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于RESTful的鉴权方法。此外,本专利技术还提供了一种鉴权设备,所述鉴权设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于RESTful的鉴权方法。采用这样的设计后,本专利技术至少具有以下优点:能够在PaaS云平台环境下实现统一的鉴权服务。附图说明上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。图1是本专利技术基于RESTful的鉴权方法的交互流程图;图2是本专利技术基于RESTful的鉴权方法的交互流程图;图3是本专利技术实施基于RESTful的鉴权方法的网关及鉴权设备的整体结构图。具体实施方式以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。JWT(JSONWebToken)是一种用来在网络上声明某种身份的令牌(TOKEN),它的特点是紧凑且自包含并且基于JSON,通过一些常用的算法对包含的主体信息进行加密,安全性很高。它通常有三个部分组成:头信息(Header),消息体(Payload),签名(Signature)。Header通常用来声明令牌的类型和使用的算法,Payload主要用来包含用户的一些信息,Signature部分则是将Base64编码后的Header和Payload进行签名。在PaaS云平台中,微服务架构下的服务基本都是无状态的,传统的使用session的方式不再适用,用JWT来进行保护微服务,相对于框架而言,JWT较轻,且可以自包含一些用户信息和设置过期时间。本专利技术基于springcloudweb应用单独部署一个服务Auth去管理相关认证,为了安全不会直接让用户访问某个服务,会开放一个入口服务作为网关,所有请求首先访问网关。图1是本专利技术一种实施方式下基于RESTful的鉴权方法的交互流程图。参见图1,本专利技术所提供的基于RESTful的鉴权方法包括如下步骤:S10,客户端向网关发送登录请求。S11,网关检验所述登录请求的请求路径。S12,如果请求路径的检验通过,网关向鉴权设备发送登录操作请求。S13,鉴权设备接收登录操作请求,根据该登录操作请求执行登录操作,并且生成相应的JWT。在本实施例中,生成JWT,也就是生成令牌的过程是采用私钥进行加密的过程。S14,鉴权设备返回登录信息和JWT。S15,网关检验JWT。在本实施例中,检验JWT是采用公钥进行解密的过程。S16,如果JWT检验未通过,网关向客户端返回拒绝服务消息。S17,如果JWT检验通过,网关向应用服务器请求服务。S18,应用服务器执行网关所请求的内容。S19,请求内容执行完成之后,应用服务器向客户端返回请求数据。图2是本专利技术另一种实施方式下基于RESTful的鉴权方法的交互流程图。参见图2,本专利技术所提供的基于RESTful的鉴权方法包括如下步骤:S21,第一服务向网关发送第二服务的服务调用请求。S22,网关验证是否存在对应的JWT。S23,如果验证未通过,网关向第一服务返回无JWT拦截消息。S24,如果验证通过,网关向鉴权设备发送对JWT进行校验的校验请求。S25,鉴权设备根据校验请求校验JWT。S26,如果校验失败,鉴权设备向第一服务返回JWT校验失败拦截消息。S27,如果校验成功,网关向第二服务发送服务请求。S28,第二服务根据服务请求,执行相应的服务。S29,服务执行完成后,第二服务向第一服务返回服务数据。图3是实施本专利技术基于RESTful的鉴权方法的网关或者鉴权设备的结构图。参见图3,网关或者鉴权设备包括:中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM30本文档来自技高网...

【技术保护点】
1.一种基于RESTful的鉴权方法,应用于网关,其特征在于,包括:接收客户端的登录请求;根据所述登录请求,向鉴权设备发送登录操作请求;接收所述鉴权设备反馈的登录信息及令牌,其中,所述令牌为JWT;验证所述令牌;以及在执行所述验证成功时,向应用服务器请求服务。

【技术特征摘要】
1.一种基于RESTful的鉴权方法,应用于网关,其特征在于,包括:接收客户端的登录请求;根据所述登录请求,向鉴权设备发送登录操作请求;接收所述鉴权设备反馈的登录信息及令牌,其中,所述令牌为JWT;验证所述令牌;以及在执行所述验证成功时,向应用服务器请求服务。2.根据权利要求1所述的基于RESTful的鉴权方法,其特征在于,在根据所述登录请求,向鉴权设备发送所述登录请求之前,接收客户端的登录请求之后,还包括:对接收到的所述登录请求进行路径检查。3.根据权利要求1所述的基于RESTful的鉴权方法,其特征在于,验证所述令牌之后,还包括:在执行所述验证不成功时,向所述客户端反馈拒绝服务消息。4.一种基于RESTful的鉴权方法,应用于鉴权设备,其特征在于,包括:接收网关发送的登录操作请求;根据所述登录操作请求,执行登录操作;生成与所述登录操作对应的令牌,其中,所述令牌为JWT;以及向客户端反馈所述登录操作的登录信息及所述令牌。5.一种基于RESTful的鉴权方法,应用于网关,其特征在于,包括:接收第一服务的服务调用请求;向鉴权设备发送校验请求,所述校验请求用于请求对与所述服务调用请求相对应的令牌进行校验,其中,所述令牌为JWT;以及在所述校验成功时,向第二服务请求相应的服务。6...

【专利技术属性】
技术研发人员:钱子琪
申请(专利权)人:北京博明信德科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1