[发明专利]基于token的客户端身份验证的方法及系统有效
申请号: | 201811274927.9 | 申请日: | 2018-10-30 |
公开(公告)号: | CN109309683B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 郝敬全;王涛;赵建云;辛国茂;马述杰 | 申请(专利权)人: | 泰华智慧产业集团股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 邓建国 |
地址: | 250101 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 token 客户端 身份验证 方法 系统 | ||
本申请公开一种基于token的客户端身份验证的方法及系统,涉及信息技术领域,方法包括:等待接收客户端发送的用户名和密码信息;判断用户名和密码信息与服务器中存储的用户名和密码信息是否匹配,若不匹配,则提示重新输入;若匹配,则生成与用户ID对应的授权令牌token;将授权令牌存储至数据库并返回至客户端;等待接收通过客户端发送的请求信息,判断请求信息中是否携带授权令牌:若携带,则判断授权令牌是否有效,若无效,返回重新登录信息;若有效,判断存储在数据库中的授权令牌和请求信息中携带的授权令牌是否一致,若一致,则验证通过;若不一致,则验证不通过,返回账户异地登录信息;若未携带授权令牌,返回重新登录信息。
技术领域
本申请涉及信息技术领域,具体地说,涉及一种基于token的客户端身份验证的方法及系统。
背景技术
Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
传统的基于sessino的认证,每个用户经过应用认证之后,都要在服务端做一次记录,以便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大,而且用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的应用上,限制了负载均衡器的能力,也意味着限制了应用的扩展性。
基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或会话信息。这也就意味着基于tokent认证机制的应用不需要去考虑用户在哪一台服务器登陆了,这就为应用的扩展提供了便利。
但是,Token在生成的时候就已经固定,其中存储了签发时间和过期时间,当过期后,身份验证将不通过。因此,在使用过程中,存在两个缺陷。一是不能控制token失效,同一个用户如果重新使用账户密码登录,生成新的token,旧的token任然有效,可以通过身份认证;二是同一个账户可以在多个客户端同时登录。这样,在用户密码或token泄露后,修改密码也无法阻止他人登录,而且不能及时知晓账户信息已泄露,存在安全隐患。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种基于token的客户端身份验证的方法及系统,利用token与数据库校验相结合的方式,提高用户身份认证安全性,确保用户通过修改密码或退出账户重新登录等方式使用账户密码验证登录生成新的token后,旧token将不能通过身份认证,有利于确保账户安全。
为了解决上述技术问题,本申请有如下技术方案:
第一方面,本申请提供一种基于token的客户端身份验证的方法,其特征在于,包括:
等待接收通过客户端发送的用户名和与该所述用户名对应的密码信息,所述用户名还与用户ID对应;
判断所述用户名和所述密码信息与服务器中存储的用户名和密码信息是否匹配,若不匹配,则提示重新输入;若匹配,则生成与所述用户ID对应的授权令牌token;
将所述授权令牌token存储至数据库,并将所述授权令牌token返回至所述客户端;
等待接收通过客户端发送的请求信息,判断所述请求信息中是否携带授权令牌token:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于泰华智慧产业集团股份有限公司,未经泰华智慧产业集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811274927.9/2.html,转载请声明来源钻瓜专利网。