This application discloses a token-based method and system for client authentication, which covers the field of information technology. The methods include: waiting for the user name and password information sent by the receiving client; judging whether the user name and password information matches the user name and password information stored in the server; prompting for re-input if they do not match; and generating a corresponding user ID if they match. Authorization token; Store authorization token in database and return it to client; Wait for receiving request information sent through client to judge whether the request information carries authorization token; If carried, judge whether the authorization token is valid, if invalid, return login information; If valid, judge the authorization token stored in database and the grant carried in request information. If the right tokens are identical, the verification passes; if not, the verification does not pass, and returns the account remote login information; if the authorization token is not carried, the login information is returned.
【技术实现步骤摘要】
基于token的客户端身份验证的方法及系统
本申请涉及信息
,具体地说,涉及一种基于token的客户端身份验证的方法及系统。
技术介绍
Jsonwebtoken(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。传统的基于sessino的认证,每个用户经过应用认证之后,都要在服务端做一次记录,以便用户下次请求的鉴别,通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大,而且用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的应用上,限制了负载均衡器的能力,也意味着限制了应用的扩展性。基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或会话信息。这也就意味着基于tokent认证机制的应用不需要去考虑用户在哪一台服务器登陆了,这就为应用的扩展提供了便利。但是,Token在生成的时候就已经固定,其中存储了签发时间和过期时间,当过期后,身份验证将不通过。因此,在使用过程中,存在两个缺陷。一是不能控制token失效,同一个用户如果重新使用账户密码登录,生成新的token,旧的token任然有效,可以通过身份认证;二是同一个账户可以在多个客户端同时登录。 ...
【技术保护点】
1.一种基于token的客户端身份验证的方法,其特征在于,包括:等待接收通过客户端发送的用户名和与该所述用户名对应的密码信息,所述用户名还与用户ID对应;判断所述用户名和所述密码信息与服务器中存储的用户名和密码信息是否匹配,若不匹配,则提示重新输入;若匹配,则生成与所述用户ID对应的授权令牌token;将所述授权令牌token存储至数据库,并将所述授权令牌token返回至所述客户端;等待接收通过客户端发送的请求信息,判断所述请求信息中是否携带授权令牌token:若携带有授权令牌token,则判断所述授权令牌token是否有效,若所述授权令牌token无效,则验证不通过,返回重新登录信息;若授权令牌token有效,则判断存储在所述数据库中的授权令牌token和所述请求信息中所携带的授权令牌token是否一致,若二者一致,则验证通过;若二者不一致,则验证不通过,返回账户异地登录信息;若未携带授权令牌token,则返回重新登录信息。
【技术特征摘要】
1.一种基于token的客户端身份验证的方法,其特征在于,包括:等待接收通过客户端发送的用户名和与该所述用户名对应的密码信息,所述用户名还与用户ID对应;判断所述用户名和所述密码信息与服务器中存储的用户名和密码信息是否匹配,若不匹配,则提示重新输入;若匹配,则生成与所述用户ID对应的授权令牌token;将所述授权令牌token存储至数据库,并将所述授权令牌token返回至所述客户端;等待接收通过客户端发送的请求信息,判断所述请求信息中是否携带授权令牌token:若携带有授权令牌token,则判断所述授权令牌token是否有效,若所述授权令牌token无效,则验证不通过,返回重新登录信息;若授权令牌token有效,则判断存储在所述数据库中的授权令牌token和所述请求信息中所携带的授权令牌token是否一致,若二者一致,则验证通过;若二者不一致,则验证不通过,返回账户异地登录信息;若未携带授权令牌token,则返回重新登录信息。2.根据权利要求1所述基于token的客户端身份验证的方法,其特征在于,与所述用户ID对应的所述授权令牌token包括签发时间、过期时间、用户ID信息和密钥。3.根据权利要求2所述基于token的客户端身份验证的方法,其特征在于,所述判断所述授权令牌token是否有效,进一步为:将与所述用户ID对应的所述授权令牌token中的过期时间与当前时间进行比较,若所述当前时间超出所述过期时间,则所述授权令牌token无效;若所述当前时间未超出所述过期时间,则所述所述授权令牌token有效。4.根据权利要求2所述基于token的客户端身份验证的方法,其特征在于,所述判断存储在所述数据库中的授权令牌token和所述请求信息中所携带的授权令牌token是否一致,进一步为:根据所述请求信息中所携带的授权令牌token获取与该授权令牌token对应的用户ID,在所述数据库中查找与该用户ID对应的授权令牌token,对比所述请求信息中所携带的授权令牌token和存储在所述数据库中的且与所述用户ID对应的授权令牌token是否相同,若相同,则二者一致;若不相同,则二者不一致。...
【专利技术属性】
技术研发人员:郝敬全,王涛,赵建云,辛国茂,马述杰,
申请(专利权)人:泰华智慧产业集团股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。