weixin_52438791 2022-08-04 21:39 采纳率: 100%
浏览 522
已结题

jwt验证中,claims中有值,但解析之后返回null

使用springsecurity+jwt进行登录验证时,解析token,负载中有值,但返回为null
 public String getUserNameFromToken(String token){
        String username;
        //从token中获取负载
        try {
            Claims claims = getClaimsFromToken(token);
            //从负载用获取用户名
            username = claims.getSubject();
        } catch (Exception e) {
            username = null;
        }
        return username;
    }

/**
     * 从token中获取负载
     * @param token
     * @return
     */
    private Claims getClaimsFromToken(String token) {
        Claims claims = null;
        try {
            claims = Jwts.parser()
                                    //放入密钥
                                    .setSigningKey(secret)
                                    //放入token
                                    .parseClaimsJws(token)
                                    //获取负载
                                    .getBody();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return claims;
    }

debug中有值

img

但执行getString方法为null

img

  • 写回答

1条回答 默认 最新

  • 林晓风 2022-08-04 21:45
    关注

    debug到这一行看下这个this对象的值

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日
  • 创建了问题 8月4日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么