[发明专利]一种微服务身份认证和接口鉴权的方法及其系统在审
| 申请号: | 201910953417.2 | 申请日: | 2019-10-09 |
| 公开(公告)号: | CN110730077A | 公开(公告)日: | 2020-01-24 |
| 发明(设计)人: | 鲍宁;张春玮;张创伟 | 申请(专利权)人: | 北京华宇信息技术有限公司 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32 |
| 代理公司: | 11640 北京中索知识产权代理有限公司 | 代理人: | 胡大成 |
| 地址: | 100084 北京市海淀区中关村*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 鉴权 网关 服务器 登录用户 服务身份 配置接口 前端应用 身份认证 身份信息 身份验证 有效地 配置 权限 认证 访问 开发 | ||
本发明提供一种微服务身份认证和接口鉴权的方法及其系统,把身份验证和接口鉴权拆分成两个独立的token,Usertoken里只配置用户的身份信息,Apptoken里只配置接口权限。每个前端应用配置一个单独的nginx服务器,Apptoken由nginx服务器自动在head中增加,即请求通过nginx后,会同时包含Usertoken和Apptoken,然后传给网关,由网关进行身份认证和接口鉴权。本发明有效地降低了开发复杂性,提升了安全性,并支持非登录用户直接进行接口鉴权访问。
技术领域
本发明属于微服务架构技术领域,具体涉及一种微服务身份认证和接口鉴权的方法及其系统。
背景技术
微服务架构(Micro Service Architecture,简称MSA)目前越来越成为了主流架构,是软件系统的一种新的架构风格。在微服务系统中,所有的模块功能不再像单体系统部署在一个包内,而是由多个微服务组成,每个微服务都能独立设计、开发、部署,在灵活性方面具有很大优势。由于服务众多,基于微服务的安全访问越来越重要,现有技术的微服务架构的身份认证和接口鉴权的基本方案如图1所示。
现有的微服务架构的身份认证和接口鉴权中,基于令牌(Token)的认证是其中的一大类。Token一般会包含用户的相关信息,通过验证Token就可以完成身份校验。Token是在认证服务端(也就是网关)产生的。如果前端使用用户名/密码向认证服务端请求认证,认证服务端认证成功,那么在认证服务端会返回用户令牌Usertoken给前端。前端可以在每次业务请求的时候带上Usertoken证明自己的合法地位。其时序如图2所示。
前端A和前端B代表不同的前端,首先由前端向网关发起服务请求,发送的请求服务中包括Usertoken和业务请求,通过网关进行身份验证和接口鉴权,该身份验证包括检验时间戳是否过期、密钥是否正确等。接口鉴权是验证该用户是否有调用服务接口的权限。如果身份验证和接口鉴权通过,则网关会把业务请求转发给后台的服务接口进行业务处理,服务接口如服务A、服务B、服务C等。
现有技术中接口的鉴权和身份验证耦合在一起,即接口鉴权是通过给角色赋权限来处理,这样同一个系统如果角色很多,则接口鉴权会非常复杂并且会产生重复。
而且现有技术不支持非登录用户的接口访问鉴权,即第三方系统如果访问服务接口,是没有对应人员角色的,也就是不能登录的用户,此时如果只想对接口鉴权是实现不了的。
发明内容
有鉴于此,为了解决现有技术的接口鉴权复杂和非登录用户不能进行接口鉴权的问题,本发明提供一种基于微服务网关的,同时支持微服务身份认证和接口鉴权分离的方法及其系统,并在使用上有效降低了开发复杂性和提升了安全性,并支持非登录用户直接进行接口鉴权访问。
第一方面,本发明提供一种微服务身份认证和接口鉴权的方法,将身份验证和接口权鉴拆分成两个独立的令牌,并由网关先进行身份验证,再进行接口权鉴。
作为对第一方面的方法的一种改进,还包括对未登陆的用户进行接口权鉴的步骤。
作为第一方面的方法的具体实施,包括以下步骤:
步骤1、前端发送业务请求和用户令牌Usertoken给单独为其配置的nginx服务器;所述用户令牌Usertoken中配置所述前端的身份信息;
步骤2、所述nginx服务器自动在http请求头增加应用令牌Apptoken;所述的应用令牌Apptoken中配置所述前端的接口权限;
步骤3、所述nginx服务器将业务请求、所述用户令牌Usertoken和所述应用令牌Apptoken发送给网关;
步骤4、网关对用户令牌Usertoken进行身份验证;如果身份验证不通过,则拒绝访问;如果身份验证通过,则到步骤5;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华宇信息技术有限公司,未经北京华宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910953417.2/2.html,转载请声明来源钻瓜专利网。





