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

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 求Houdini使用行家,付费。价格面议。
  • ¥15 AttributeError: 'EasyDict' object has no attribute 'BACKUP_DB_INFO'
  • ¥15 前端高拍仪调用问题报错
  • ¥15 想用octave解决这个数学问题
  • ¥15 Centos新建的临时ip无法上网,如何解决?
  • ¥15 海康威视如何实现客户端软件对设备语音请求的处理。
  • ¥15 支付宝h5参数如何实现跳转
  • ¥15 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 CF1927D 求Hack