java解析jwt token
时间: 2023-08-28 21:07:58 浏览: 78
在Java中解析JWT Token可以使用一些现成的库,比如:
1. jjwt:这是一个非常流行的Java JWT库,可以用来创建、解析和验证JWT Token。可以通过以下方式添加依赖:
```
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
```
示例代码:
```
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
String jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
Claims claims = Jwts.parser().setSigningKey("secret-key").parseClaimsJws(jwt).getBody();
System.out.println("Subject: " + claims.getSubject());
System.out.println("Expiration: " + claims.getExpiration());
```
2. nimbus-jose-jwt:这是另一个流行的Java JWT库,可以用来创建、解析和验证JWT Token。可以通过以下方式添加依赖:
```
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>9.1</version>
</dependency>
```
示例代码:
```
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.jwt.JWTParser;
String jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
JWTClaimsSet claims = JWTParser.parse(jwt).getJWTClaimsSet();
System.out.println("Subject: " + claims.getSubject());
System.out.println("Expiration: " + claims.getExpirationTime());
```
以上示例代码均为解析JWT Token,并获取其中的Subject和Expiration字段。关于如何创建和验证JWT Token,可以参考相应的文档。
阅读全文