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

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 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。