一种客户端调用后端接口鉴权授权安全方法技术

技术编号:38378241 阅读:10 留言:0更新日期:2023-08-05 17:38
本发明专利技术公开了一种客户端调用后端接口鉴权授权安全方法,包括以下步骤:S1、客户端输入用户名和密码请求登录服务端;S2、服务端收到客户端的请求后,将用户名和密码传输到数据库查询是否存在此用户;S3、服务端会把生成的token信息缓存到redis缓存数据库中,并反馈token信息和refresh_token信息给客户端;S4、客户端携带token信息后请求访问服务端的资源数据;S5、服务端收到客户端请求后,查询redis缓存数据库中是否存在客户端携带的token信息;S6、服务端判断token信息是否过期;S7、服务端判断refresh_token信息是否过期;S8、客户端使用新的token信息重复进行步骤S4~S6,令客户端获得访问服务端资源数据的权限。户端获得访问服务端资源数据的权限。户端获得访问服务端资源数据的权限。

【技术实现步骤摘要】
一种客户端调用后端接口鉴权授权安全方法


[0001]本专利技术涉及数据安全领域,尤其涉及一种客户端调用后端接口鉴权授权安全方法。

技术介绍

[0002]随着互联网技术的飞速发展,数据安全成为了人们关注的焦点问题,同时也带来了严重的安全隐患,往往出现很多网站、app软件、系统等海量数据的泄露事件。现有的很多软件都是没有做数据安全机制处理的,SQL注入攻击、跨站点请求伪造、跨站点脚本攻击数据很容易造成数据信息被窃取、数据篡改、数据删添等状况,有必要对其进行改进。

技术实现思路

[0003]本专利技术目的是针对上述问题,提供一种操作简单、提高安全性的客户端调用后端接口鉴权授权安全方法。
[0004]为了实现上述目的,本专利技术的技术方案是:
[0005]一种客户端调用后端接口鉴权授权安全方法,包括以下步骤:
[0006]S1、客户端输入用户名和密码请求登录服务端;
[0007]S2、服务端收到客户端的请求后,将用户名和密码传输到数据库查询是否存在此用户;如果不存在此用户,则提示客户端非法访问,此用户不存在;如果存在此用户,会通过JWT鉴权授权认证方式,将登录凭证做数字签名,同时生成token信息和refresh_token信息;
[0008]S3、服务端会把生成的token信息缓存到redis缓存数据库中,并反馈token信息和refresh_token信息给客户端,客户端保存token信息和refresh_token信息到本地数据库中;
[0009]S4、客户端携带token信息后请求访问服务端的资源数据;
[0010]S5、服务端收到客户端请求后,通过后端程序查询redis缓存数据库中是否存在客户端携带的token信息;如果不存在,则提示客户端token信息不存在;如果存在,则进行下一步;
[0011]S6、服务端判断token信息是否过期;如果token信息没有过期,则解析token信息获取认证,认证通过后,客户端获得访问服务端资源数据的权限,将服务端的资源数据反馈给客户端;如果token信息已过期,反馈给客户端token过期提示;并且客户端用refresh_token信息继续进行请求;
[0012]S7、服务端判断refresh_token信息是否过期;如果refresh_token信息已过期,则返回给客户端refresh_token信息过期,需要重新登录的提示;如果refresh_token信息没有过期,则服务端生成新的token信息和refresh_token信息并反馈给客户端,客户端的本地数据库丢弃旧的token信息、refresh_token信息,保存新的token信息、refresh_token信息;
[0013]S8、客户端使用新的token信息重复进行步骤S4~S6,令客户端获得访问服务端资源数据的权限。
[0014]进一步的,所述客户端包括浏览器、APP。
[0015]进一步的,所述JWT鉴权授权认证方式采用Base64URL算法。
[0016]进一步的,所述JWT鉴权授权认证方式采用加密的HTTPS协议进行传输。
[0017]与现有技术相比,本专利技术具有的优点和积极效果是:
[0018]本专利技术提出了一种客户端调用后端接口鉴权授权安全方法,其将所有的接口请求使用JWT鉴权授权身份验证技术,通过非对称加密及数字签名技术,用以解决客户端调用后端接口随意被别人或别的系统调用的问题,同时其实现了对客户端访问后端资源接口的权限控制,降低了系统数据泄露、被篡改的风险,有效提高了系统的安全性,给计算机的数据安全方面作出了一定的贡献。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本专利技术中客户端与服务端的框架关系图;
[0021]图2为本专利技术的框架流程图;
[0022]图3为token信息的生成流程图。
具体实施方式
[0023]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
[0024]如图1至图3所示,本专利技术提供了一种客户端调用后端接口鉴权授权安全方法,用以解决客户端调用后端接口随意被别人或别的系统调用的问题,降低了系统数据泄露、被篡改的风险,提高了系统的安全性能;其具体操作步骤为:
[0025]首先,客户端(包括浏览器、APP等)需要输入用户名和密码登录请求服务端,服务端收到客户端的请求后,用用户名和密码到数据库查询是否存在此用户,如果不存在此用户,则提示客户端非法访问,此用户不存在,如果存在此用户,会通过JWT鉴权授权认证方式,登录凭证做数字签名,生成token和refresh_token信息,服务端会把生成的token信息缓存到redis缓存数据库中,并返回token和refresh_token信息给客户端。客户端保存token和refresh_token信息到本地。
[0026]客户端携带token,请求服务端接口资源,服务端收到客户端请求,用token通过后端程序查询redis缓存数据库中是否存在token数据信息,如果不存在,则提示客户端,token信息不存在;服务端判断token是否过期,如果token没有过期,则解析token获取认证相关信息,认证通过后,客户端才有访问后端服务资源的权限,将服务端资源返回客户端;
服务端判断token已过期,返回token过期提示,并且客户端用refresh_token接着继续上一次请求。
[0027]服务端判断refresh_token是否过期,若没有过期,则生成新的token和refresh_token,并返回给客户端,客户端丢弃旧的token,保存新的token;
[0028]服务端判断refresh_token是否过期,若refresh_token已过期,则返回给客户端token过期,需要重新登录的提示。
[0029]下面详细介绍JWT鉴权授权token信息生成的步骤:
[0030]JWT有3部分组成,其分别为标头(Header)、有效载荷(Payload)和签名(Signature);
[0031]标头(Header):JWT元数据对象,alg表示签名使用的算法,typ表示令牌的类型。
[0032]有效载荷(Payload):JWT的主体内容部分,包含需要传递的数据。
[0033]请注意,默认情况下JWT是未加密的,任何人本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种客户端调用后端接口鉴权授权安全方法,其特征在于:包括以下步骤:S1、客户端输入用户名和密码请求登录服务端;S2、服务端收到客户端的请求后,将用户名和密码传输到数据库查询是否存在此用户;如果不存在此用户,则提示客户端非法访问,此用户不存在;如果存在此用户,会通过JWT鉴权授权认证方式,将登录凭证做数字签名,同时生成token信息和refresh_token信息;S3、服务端会把生成的token信息缓存到redis缓存数据库中,并反馈token信息和refresh_token信息给客户端,客户端保存token信息和refresh_token信息到本地数据库中;S4、客户端携带token信息后请求访问服务端的资源数据;S5、服务端收到客户端请求后,通过后端程序查询redis缓存数据库中是否存在客户端携带的token信息;如果不存在,则提示客户端token信息不存在;如果存在,则进行下一步;S6、服务端判断token信息是否过期;如果token信息没有过期,则解析token信息获取认证,认证通过后,客户端获得访问服务端资源数据的权限,将服务端的资源数据反馈给客户端;如果to...

【专利技术属性】
技术研发人员:陈友贵
申请(专利权)人:上海众种生态科技有限公司
类型:发明
国别省市:

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

1