一种基于分布式微服务的用户认证方法技术

技术编号:23771801 阅读:43 留言:0更新日期:2020-04-12 00:26
本申请公开了一种基于分布式微服务的用户认证方法、装置、服务端及可读存储介质,方案包括:利用API网关获取客户端侧发出的携带有JWT的业务请求;从JWT中提取token和用户标识信息,并判断本地是否记录有二者之间的映射关系;若是,则延迟该token的失效时间并利用API网关响应业务请求,否则拒绝业务请求。可见,该方案中所有业务请求通过API网关控制,使用户认证统一入口。在用户认证过程中,使用token和用户标识信息之间的映射关系记录JWT有效性,且利用token实现对JWT有效期的管理,提升用户认证方案的灵活性。此外,利用JWT本身的无状态的特性,该方法能够减少服务端存储压力并防止CSRF攻击。

A user authentication method based on distributed microservices

【技术实现步骤摘要】
一种基于分布式微服务的用户认证方法
本申请涉及计算机安全领域,特别涉及一种基于分布式微服务的用户认证方法、装置、服务端及可读存储介质。
技术介绍
目前,Internet服务的用户认证方案主要有以下两种:一种是传统的Session+cookie方式,客户端向服务器发送登录名和登录密码,服务器验证通过后将对应的相关信息保存到当前会话中,并向客户端返回Session,Session信息都会写入到客户端的Cookie中,后面的请求都会从Cookie中读取Session发送给服务器,服务器在收到Session后通过对比保存的数据来确认客户端身份。这种用户认证方案,存在以下缺点:一、鉴权数据(Cookie中的session)是由浏览器自动携带发送到服务端的,因此容易受到CSRF攻击;二、需要服务端保留Session信息,维护和同步登录的状态,在大量用户突发涌入的场景下,对Session的存储和处理将会消耗大量资源,给服务器造成较大压力;三、移动终端一般不支持cookie,因此无法应用于移动应用场景。另一种是使用JWT技术,客户端向服本文档来自技高网...

【技术保护点】
1.一种基于分布式微服务的用户认证方法,其特征在于,应用于服务端,包括:/n利用API网关获取客户端侧发出的携带有JWT的业务请求;/n从所述JWT中提取token和用户标识信息,并判断本地是否记录有所述token和所述用户标识信息之间的映射关系;其中,本地用于记录预先分配的token和用户标识信息之间的映射关系以及各个token的失效时间,还用于在达到失效时间时删除token和用户标识信息之间的映射关系;/n若是,则延迟所述token的失效时间以实现所述JWT的续签,并利用所述API网关响应所述业务请求,否则判定所述JWT已经失效并拒绝所述业务请求。/n

【技术特征摘要】
1.一种基于分布式微服务的用户认证方法,其特征在于,应用于服务端,包括:
利用API网关获取客户端侧发出的携带有JWT的业务请求;
从所述JWT中提取token和用户标识信息,并判断本地是否记录有所述token和所述用户标识信息之间的映射关系;其中,本地用于记录预先分配的token和用户标识信息之间的映射关系以及各个token的失效时间,还用于在达到失效时间时删除token和用户标识信息之间的映射关系;
若是,则延迟所述token的失效时间以实现所述JWT的续签,并利用所述API网关响应所述业务请求,否则判定所述JWT已经失效并拒绝所述业务请求。


2.如权利要求1所述的方法,其特征在于,在所述利用API网关获取客户端侧发出的携带有JWT的业务请求之前,还包括:
利用API网关获取客户端侧发出的登录请求,所述登录请求包括用户标识信息;
为所述用户标识信息分配token,记录所述token的失效时间,并记录所述token与所述用户标识信息之间的映射关系;
生成包括所述用户标识信息和所述token的JWT,并将所述JWT发送至所述客户端。


3.如权利要求2所述的方法,其特征在于,所述为所述用户标识信息分配token,包括:
判断本地是否记录有所述用户标识信息与token之间的映射关系;
若是,则清除所述用户标识信息与token之间的映射关系,并为所述用户标识信息分配新的token;
若不是,则为所述用户标识信息分配token。


4.如权利要求2所述的方法,其特征在于,在所述将所述JWT发送至所述客户端之后,包括:
所述客户端响应用户操作以生成相应的业务请求,其中所述业务请求的头部包括所述JWT。


5.如权利要求2所述的方法,其特征在于,所述生成包括所述用户标识信息和所述token的JWT,并将所述JWT发送至所述客户端,包括:
将所述用户标识信息和所述token作为载荷,生成相应的JWT;将所述JWT放入响应数据包的头部,并将所述响应数据包发送至所述客户端。


6.如权利要求1所述的方法,其特征在于,所述延迟所述token的失效时间,包括:
根据预设延迟时长,延迟所述t...

【专利技术属性】
技术研发人员:夏玮范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江;33

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

1