【技术实现步骤摘要】
一种基于JWT的客户端认证方法及系统
[0001]本专利技术涉及互联网安全通信
,特别是涉及一种基于JWT的客户端认证方法及系统。
技术介绍
[0002]目前互联网比较主流的方式是用JWT来做无状态的服务沟通,通过该JWT可以传输用户信息,并且通过对称加密来保证JWT本身无法被篡改,由于JWT本体是由Base64算法编码的,有不可读性,但对于计算机系统来说是透明的,因为编码解码过程很简单,可以直接获取明文内容,故会导致一些信息会泄露到客户端。
技术实现思路
[0003]本专利技术的目的是提供一种基于JWT的客户端认证方法及系统,提高了客户端认证的安全性。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种基于JWT的客户端认证方法,包括:
[0006]通过客户端发起的登录请求依次通过安全网关模块和应用网关模块后发送到用户权限中心模块;所述登录请求包括提交表单和客户端信息;所述提交表单的请求头中包括登录指纹ID;
[0007]通过所述用户权限中心模块验证所述提交表单,验证通过后,通过JWT库生成JWT,并将生成的所述JWT存储于Redis中,通过所述用户权限中心模块将生成的所述JWT通过所述应用网关模块发送到所述安全网关模块;
[0008]所述安全网关模块接收到所述JWT后,对所述JWT、所述登录指纹ID、所述客户端信息进行加密,将加密后的信息定义为URJWT,将所述URJWT发送到所述客户端;
[0009]所述客户端接收到所述 ...
【技术保护点】
【技术特征摘要】
1.一种基于JWT的客户端认证方法,其特征在于,包括:通过客户端发起的登录请求依次通过安全网关模块和应用网关模块后发送到用户权限中心模块;所述登录请求包括提交表单和客户端信息;所述提交表单的请求头中包括登录指纹ID;通过所述用户权限中心模块验证所述提交表单,验证通过后,通过JWT库生成JWT,并将生成的所述JWT存储于Redis中,通过所述用户权限中心模块将生成的所述JWT通过所述应用网关模块发送到所述安全网关模块;所述安全网关模块接收到所述JWT后,对所述JWT、所述登录指纹ID、所述客户端信息进行加密,将加密后的信息定义为URJWT,将所述URJWT发送到所述客户端;所述客户端接收到所述URJWT后,将所述URJWT保存到会话中,当通过所述客户端向所述安全网关模块进行业务请求时,所述业务请求的请求头中携带所述URJWT和业务请求指纹ID;当所述安全网关模块接收到所述业务请求时,对所述业务请求的请求头中携带的所述URJWT进行解密,将解密获得的登录指纹ID与所述业务请求指纹ID进行比对,将解密获得的客户端信息与所述业务请求中的客户端信息进行比对,当解密获得的登录指纹ID与所述业务请求指纹ID相同且解密获得的客户端信息与所述业务请求中的客户端信息相同时,将解密获得的JWT发送到应用网关模块;所述应用网关模块接收到解密获得的JWT后,将解密获得的JWT与Redis中存储的JWT进行比较,当解密获得的JWT与Redis中存储的JWT相同时,将所述业务请求发送到业务系统,当前所述业务请求的请求头中携带解密获得的JWT;当所述业务系统接收到所述业务请求时进行业务行为,并将业务行为的结果发送到所述客户端。2.根据权利要求1所述的基于JWT的客户端认证方法,其特征在于,所述客户端信息包括客户端IP和客户端代理信息。3.根据权利要求1所述的基于JWT的客户端认证方法,其特征在于,所述通过客户端发起的登录请求依次通过安全网关模块和应用网关模块后发送到用户权限中心模块,具体包括:通过客户端将用户发起的登录请求提交到安全网关模块;所述登录请求包括URL地址;通过所述安全网关模块将所述登录请求发送到应用网关模块;通过所述应用网关模块对所述登录请求中的所述URL地址进行验证,若所述登录请求中的所述URL地址与所述应用网关模块配置的地址一致,则通过应用网关模块的地址验证;通过所述应用网关模块将通过地址验证的所述登录请求中的提交表单发送到用户权限中心模块。4.根据权利要求1所述的基于JWT的客户端认证方法,其特征在于,所述通过所述用户权限中心模块验证所述提交表单,具体包括:通过所述用户权限中心模块验证所述提交表单中的用户名和用户密码与数据库中存储的用户名和用户密码是否一致,若一致,则通过验证。5.根据权利要求1所述的基于JWT的客户端认证方法,其特征在于,所述登录指纹ID通过FingerPrintJS库生成。
6.根据权利要求1所述的基于JWT的客户端认证方法,其特征在于,所述安全网关模块接收到所述JWT后,对所述JWT、所述登录指纹ID、所述客户端信...
【专利技术属性】
技术研发人员:李松亚,张顺晨,石贇,黄国珉,吴涛,周纬,杨艳秋,
申请(专利权)人:上海欧冶金融信息服务股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。