1

我想读取 JWT 令牌,并从中获取用户 ID。

据我所知,在 JWT 声明中,用户 ID 等于“子”作为“主题”。

@GET()
@Path("path")
@RolesAllowed("user")
public String method(    ){

    String userID = jwt.claims.get ("sub");  // or something like this 

}

这怎么可能?

4

1 回答 1

1

如果在“子”声明中,您可以使用userID通过以下方式接收它:

Long userID = Long.parseLong(Jwts.parser()
  .setSigningKey(secretKey)
  .parseClaimsJws(token)
  .getBody()
  .getSubject());

secretKey您的签名密钥在哪里,token您的 JWT 令牌在哪里。

于 2020-05-03T11:26:19.343 回答