Jwts.builder().claim
时间: 2024-10-08 13:21:38 浏览: 53
JWT(JSON Web Tokens)是一种开放标准的安全令牌协议,常用于身份验证和授权。在使用JWTS(Java JWT)库构建JWT时,`.builder()`方法是一个静态工厂方法,它返回一个`JwtBuilder`对象,可以用来构造JWT的各个部分。
`.claim()`方法是`JwtBuilder`的一部分,用于添加声明(claims)到JWT头(header)或有效载荷(payload)。声明是一组键值对,它们包含了关于用户信息、权限或其他应用特定的数据。常见的claim有:
- `sub`: 用户标识(subject)
- `iat`: 签发时间(issued at)
- `exp`: 过期时间(expiration time)
- `aud`: 接受者(audience)
- `scope`: 权限范围
例如,以下代码展示了如何添加一些基本的claim:
```java
String secret = "your-secret-key";
Map<String, Object> claims = new HashMap<>();
claims.put("username", "john.doe");
claims.put("email", "john.doe@example.com");
Jwt签发者 builder = Jwts.builder()
.setClaims(claims)
.setSubject(claims.get("username"))
.signWith(SignatureAlgorithm.HS512, secret);
String jwt = builder.compact();
```
阅读全文