[发明专利]一种基于分布式微服务的用户认证方法有效
| 申请号: | 201911215713.9 | 申请日: | 2019-12-02 |
| 公开(公告)号: | CN110995702B | 公开(公告)日: | 2021-09-21 |
| 发明(设计)人: | 夏玮;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
| 地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 分布 式微 服务 用户 认证 方法 | ||
本申请公开了一种基于分布式微服务的用户认证方法、装置、服务端及可读存储介质,方案包括:利用API网关获取客户端侧发出的携带有JWT的业务请求;从JWT中提取token和用户标识信息,并判断本地是否记录有二者之间的映射关系;若是,则延迟该token的失效时间并利用API网关响应业务请求,否则拒绝业务请求。可见,该方案中所有业务请求通过API网关控制,使用户认证统一入口。在用户认证过程中,使用token和用户标识信息之间的映射关系记录JWT有效性,且利用token实现对JWT有效期的管理,提升用户认证方案的灵活性。此外,利用JWT本身的无状态的特性,该方法能够减少服务端存储压力并防止CSRF攻击。
技术领域
本申请涉及计算机安全领域,特别涉及一种基于分布式微服务的用户认证方法、装置、服务端及可读存储介质。
背景技术
目前,Internet服务的用户认证方案主要有以下两种:
一种是传统的Session+cookie方式,客户端向服务器发送登录名和登录密码,服务器验证通过后将对应的相关信息保存到当前会话中,并向客户端返回Session,Session信息都会写入到客户端的Cookie 中,后面的请求都会从Cookie中读取Session发送给服务器,服务器在收到Session后通过对比保存的数据来确认客户端身份。
这种用户认证方案,存在以下缺点:一、鉴权数据(Cookie中的 session)是由浏览器自动携带发送到服务端的,因此容易受到CSRF 攻击;二、需要服务端保留Session信息,维护和同步登录的状态,在大量用户突发涌入的场景下,对Session的存储和处理将会消耗大量资源,给服务器造成较大压力;三、移动终端一般不支持cookie,因此无法应用于移动应用场景。
另一种是使用JWT技术,客户端向服务器发送登录认证信息,服务端验证通过会生成带有签名的JSON对象并发生给客户端,客户端将JSON对象持久化保存,并在以后的请求中将JSON对象连同请求内容一起发送给服务器,服务器收到请求后通过JSON对象来确认客户端身份。
这种用户认证方案,利用JWT无状态的特性,可以有效防止CSRF 攻击,同时也解决了状态同步的问题。但也存在以下缺点:一、因为 JWT是无状态的,服务端无法让token失效;二、JWT一旦发布其有效期即固定,无法续签;三、由于服务端无法使token失效,所以多用户可以使用同一账号登录,无法实现单一登录。
在系统使用分布式微服务架构后,所有服务需要同步认证信息,限制接口请求的访问。上述Cookie+Session认证方式显然不适合分布式应用和多端应用,虽然JWT适用于分布式系统和移动端,但是因为 JWT是无状态的,所以它的有效期完全由其本身决定,服务端无法让 JWT失效,因此也无法保证用户单一登录,此外TWT无法续签让JWT 应用场景不适合长期身份认证。
可见,传统的基于JWT的用户认证方案中,由于JWT无状态的特性,服务端无法使JWT失效也无法完成JWT的续签,如何克服上述缺点,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种基于分布式微服务的用户认证方法、装置、服务端及可读存储介质,用以解决传统的基于JWT的用户认证方案中服务端无法使JWT失效也无法完成JWT的续签的问题。其具体方案如下:
第一方面,本申请提供了一种基于分布式微服务的用户认证方法,应用于服务端,包括:
利用API网关获取客户端侧发出的携带有JWT的业务请求;
从所述JWT中提取token和用户标识信息,并判断本地是否记录有所述token和所述用户标识信息之间的映射关系;其中,本地用于记录预先分配的token和用户标识信息之间的映射关系以及各个token 的失效时间,还用于在达到失效时间时删除token和用户标识信息之间的映射关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911215713.9/2.html,转载请声明来源钻瓜专利网。





