【问题标题】:Java get subject from JWT tokenJava 从 JWT 令牌中获取主题
【发布时间】:2020-08-17 18:07:06
【问题描述】:

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

据我所知,在 JWT 声明中,userID 等于“sub”作为“subject”。

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

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

}

这怎么可能?

【问题讨论】:

  • 使用libraries 之一并解码令牌。只需参考 lib 的文档即可。

标签: java rest web-services oauth-2.0 jwt


【解决方案1】:

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

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

secretKey 是您的签名密钥,token 是您的 JWT 令牌。

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 2017-05-26
    • 1970-01-01
    • 2023-02-14
    • 2021-07-12
    • 2018-01-13
    • 2020-01-19
    • 2021-01-19
    • 1970-01-01
    相关资源
    最近更新 更多