java jwt解析token
时间: 2023-10-23 13:36:36 浏览: 153
golang jwt+token验证的实现
在 Java 中解析 JWT(JSON Web Token)可以使用现成的库来实现,其中比较常用的是 jjwt 和 Nimbus JWT。
以下是使用 jjwt 解析 JWT 的示例代码:
```java
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
public class JwtParserExample {
public static void main(String[] args) {
String jwtToken = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
Claims claims = Jwts.parser()
.setSigningKey("secretkey")
.parseClaimsJws(jwtToken)
.getBody();
String username = claims.getSubject();
String name = (String) claims.get("name");
long createdAt = claims.getIssuedAt().getTime();
System.out.println("Username: " + username);
System.out.println("Name: " + name);
System.out.println("Created At: " + createdAt);
}
}
```
在以上示例代码中,我们首先定义了一个 JWT Token 字符串,然后使用 `Jwts.parser()` 方法返回一个 JwtParser 对象,接着使用 `setSigningKey()` 方法设置签名密钥,最后使用 `parseClaimsJws()` 方法解析 JWT Token 并返回一个 Claims 对象。我们可以从 Claims 对象中获取 JWT Token 中存储的数据。
注意,以上示例代码中的签名密钥应该和生成 JWT Token 时使用的签名密钥相同,否则解析会失败。
阅读全文