`
y806839048
  • 浏览: 1126013 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JsonWebToken工具token认证---前后端结合使用思路

阅读更多

 

 

JsonWebToken工具结合切面token实现认证---前后端结合使用思路:

 

 

 

前后加工不一样用于安全混淆

 

后端工具生成:eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl9jcmVhdGVfdGltZSI6MTU3MTk2Mzg5OTMwOCwic3ViIjoicm9vdCIsInRva2VuX3VzZXJfbmFtZSI6InJvb3QiLCJleHAiOjE1NzE5NjU2OTksInRva2VuX3VzZXJfcGFzc3dvcmQiOiIkMmEkMTAkbDZmTG04NnlPazcub3ByUVhMNlNmdUtRTHp0OGR0UVZtYi95QU0zVWN5b1Vvd2I4LnFOVXkifQ.sQR2JluCpm5GrNKSBDLf2k2DR89mP657rSPfj7G7784JDxkf7iJiKvduBiYZySBgJ1ygxDanoGhB3nFXkQFkfg

 

 

前面拼接:Bearer eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl9jcmVhdGVfdGltZSI6MTU3MTk2Mzg4Mzg2Mywic3ViIjoicm9vdCIsInRva2VuX3VzZXJfbmFtZSI6InJvb3QiLCJleHAiOjE1NzE5NjU2ODMsInRva2VuX3VzZXJfcGFzc3dvcmQiOiIkMmEkMTAkbDZmTG04NnlPazcub3ByUVhMNlNmdUtRTHp0OGR0UVZtYi95QU0zVWN5b1Vvd2I4LnFOVXkifQ.ipUFgzMF_clkeks5cZUO82pmSE1M4yj_UwFQo66qJA9JH_8HZqLMyMvrfsiXa_bneXKTiKK92mYQU4qzKqaaww

 

 

1,每次刷新token都是重新生成token-不含bearer

 

返回的header中的token不含bearer--工具类直接生成的

2,后端工具类直接生成的token没有前缀 返回给前端

 

 

 

Authorization才有前缀

 

 3,String token = request.getHeader(Constants.TOKEN_HEADER_STRING);  前端把后端传递的没有前缀的token加上前缀,前端传过来的才有前缀

 

后端根据前端传过来的有前缀的反解成claim---最终那用里面的用户名,密码(map中设置),有效期(Claime中设置)等

 

 

    private Claims getClaims(String token) {

        Claims claims;

        try {

            claims = Jwts.parser()

                    .setSigningKey(SECRET.getBytes("UTF-8"))

                    .parseClaimsJws(token.startsWith(Consts.TOKEN_PREFIX) ?====================设置好了去除前缀的地方

                            token.substring(token.indexOf(Consts.TOKEN_PREFIX) + Consts.TOKEN_PREFIX.length()).trim() :

                            token.trim())

                    .getBody();

        } catch (Exception e) {

            log.warn(e.getMessage());

            claims = Jwts.parser()

                    .setSigningKey(SECRET)

                    .parseClaimsJws(token.startsWith(Consts.TOKEN_PREFIX) ?

                            token.substring(token.indexOf(Consts.TOKEN_PREFIX) + Consts.TOKEN_PREFIX.length()).trim() :

                            token.trim())

                    .getBody();

        }

        return claims;

    }

 

分享到:
评论

相关推荐

    Java开发案例-springboot-整合Sa-Token-Quick-Login插件实现快速登录认证-源代码+文档.rar

    Java开发案例-springboot-整合Sa-Token-Quick-Login插件实现快速登录认证-源代码+文档.rar Java开发案例-springboot-整合Sa-Token-Quick-Login插件实现快速登录认证-源代码+文档.rar Java开发案例-springboot-整合Sa...

    springboot整合Sa-Token 实现前后端分离登录注销功能,刚学习Sa-Token,用来练手,适合初学者。仅作学习使用

    springboot整合Sa-Token 实现前后端分离登录注销功能,刚学习Sa-Token,用来练手,适合初学者。仅作学习使用 前端使用html jquery ajax异步请求 后端springboot框架,Sa-Token框架。 jdk使用1.8 mysql 8.0

    jsonwebtoken-secret-gen-源码.rar

    `jsonwebtoken-secret-gen` 是一个可能用于生成 JWT 秘钥的工具或库。 源码分析: 1. **JWT 签名过程**: JWT 包含三个部分:Header、Payload 和 Signature。Signature 部分是通过将 Header 和 Payload 用 `.` ...

    Java开发案例-springboot-34-整合Sa-Token实现权限认证-源代码+文档.rar

    Java开发案例-springboot-34-整合Sa-Token实现权限认证-源代码+文档.rar Java开发案例-springboot-34-整合Sa-Token实现权限认证-源代码+文档.rar Java开发案例-springboot-34-整合Sa-Token实现权限认证-源代码+文档....

    token-provider-1.0.1-API文档-中英对照版.zip

    赠送jar包:token-provider-1.0.1.jar; 赠送原API文档:token-provider-1.0.1-javadoc.jar; 赠送源代码:token-provider-1.0.1-sources.jar; 赠送Maven依赖信息文件:token-provider-1.0.1.pom; 包含翻译后的API...

    spark-token-provider-kafka-0-10_2.12-3.0.0.jar

    spark3.0.0版本对接kafka数据源需要的jar包,最新的版本导致maven的阿里云仓库不能直接下载下来,所以需要手动导入jar包进行操作,有需要的朋友可以免费下载

    基于SpringBoot+Mybatis-Plus+JWT的前后端分离社区系统源码+项目说明.zip

    1、基于SpringBoot+Mybatis-Plus+JWT的前后端分离社区系统源码+项目说明.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,...

    node.js之express的token验证

    基于 express 封装的用户鉴权功能,基本原理: 1、用 jsonwebtoken 生成 token 2、用 express-jwt 验证 token 是否过期或失效 3、用 jsonwebtoken 解析出 token 中的用户信息,比如用户 id

    基于 SpringBoot 3+、sa-token、Layui 2.8+ 可前后端分离的后台管理系统

    基于 SpringBoot 3+、sa-token、Layui 2.8+ 可前后端分离的后台管理系统,可以用于常见的的 Web 应用程序,比如网站管理后台等。.zip 适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/...

    token-provider-1.0.1-API文档-中文版.zip

    赠送jar包:token-provider-1.0.1.jar; 赠送原API文档:token-provider-1.0.1-javadoc.jar; 赠送源代码:token-provider-1.0.1-sources.jar; 赠送Maven依赖信息文件:token-provider-1.0.1.pom; 包含翻译后的API...

    sentinel-envoy-rls-token-server-1.7.2.jar

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

    03-后台用户登录-Token模块-已解锁

    ### 03-后台用户登录-Token模块-已解锁 #### Token与JWT简介 在现代Web应用开发中,用户的身份验证是非常关键的一个环节。为了保证系统的安全性及效率,开发者常常会采用基于Token的身份验证机制,而其中JSON Web ...

    OneNET-token计算工具

    OneNET-token计算工具 用于生成连接OneNET平台时的token值。便于大家下载使用

    token-servlet使用案例.zip

    本案例"token-servlet使用案例.zip"提供了使用Servlet实现Token的一种方法,适用于大多数Java项目的异步登录功能。下面我们将详细探讨Token的原理、如何在Servlet中实现以及它在登录场景中的应用。 1. Token的基本...

    Spring-Boot结合Security+JWT 简单实现前后端分离用户登录、授权案例

    Spring-Security结合JWT 实现前后端分离完成权限验证功能案例,案例中,主要完成用户登录获取Token,通过Token访问Rest接口,没有权限或授权失败时返回JSON,前端根据状态码进行重新登录;案例中的用户名称: jake_j...

    token-encoder-main-源码.rar

    - `token-encoder-main`可能实现了安全策略,如设置Token的有效期,防止重放攻击(通过检查Token的非重复使用),以及使用安全的密钥管理策略。 4. **错误处理**: - 源码中应包含处理各种错误情况的代码,如无效...

    jjwt-api-0.11.2-API文档-中文版.zip

    Maven坐标:io.jsonwebtoken:jjwt-api:0.11.2; 标签:jsonwebtoken、api、jjwt、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...

    onenet平台Token计算工具

    标题中的“onenet平台Token计算工具”指的是一个用于与中移物联网OneNet平台交互的工具,该工具的主要功能是生成和管理Token。OneNet是中国移动旗下提供物联网服务的一个云平台,它提供了数据存储、处理、分析以及...

    基于SpringBoot+Vue+sa-token前后端分离的科研项目管理平台源代码

    基于SpringBoot+Vue+sa-token前后端分离的科研项目管理平台 前端采用Vue、Element UI 后端采用Spring Boot、Redis & Jwt。 Sa-Token:一个轻量级 java 权限认证框架,让鉴权变得简单、优雅! 权限认证使用Jwt,支持...

    node-jsonwebtoken, node.js http的JsonWebToken实现.zip

    node-jsonwebtoken, node.js http的JsonWebToken实现 jsonwebtoken 的一个实现。这是针对 draft-ietf-oauth-json-web-token-08 开发的。 它利用了节点 jws 。安装$ npm install jsonwebtoken迁移

Global site tag (gtag.js) - Google Analytics