[英]JWT token does not start with Bearer
我找不到添加承载的方法
在 localhost:8080 我得到了这个
此应用程序没有显式映射 /error,因此您将其视为后备。
2022 年 5 月 14 日星期六 00:13:48 CST 出现意外错误(类型=未授权,状态=401)。 未经授权
JwtUtil.java
package com.ecommerce.site.util;
public class JwtUtil {
@Value("${jwt.secret}")
private String SECRET_KEY;
private static final int TOKEN_VALIDITY = 3600 * 5;
public String getUsernameFromToken(String token) {
return getClaimFromToken(token, Claims::getSubject);
}
public <T> T getClaimFromToken(String token, Function<Claims, T> claimsResolver) {
final Claims claims = getAllClaimsFromToken(token);
return claimsResolver.apply(claims);
}
private Claims getAllClaimsFromToken(String token) {
return Jwts.parser().setSigningKey(SECRET_KEY).parseClaimsJws(token).getBody();
}
public Boolean validateToken(String token, UserDetails userDetails) {
final String username = getUsernameFromToken(token);
return (username.equals(userDetails.getUsername()) && !isTokenExpired(token));
}
private Boolean isTokenExpired(String token) {
final Date expiration = getExpirationDateFromToken(token);
return expiration.before(new Date());
}
public Date getExpirationDateFromToken(String token) {
return getClaimFromToken(token, Claims::getExpiration);
}
public String generateToken(UserDetails userDetails) {
Map<String, Object> claims = new HashMap<>();
return Jwts.builder()
.setClaims(claims)
.setSubject(userDetails.getUsername())
.setIssuedAt(new Date(System.currentTimeMillis()))
.setExpiration(new Date(System.currentTimeMillis() + TOKEN_VALIDITY * 1000))
.signWith(SignatureAlgorithm.HS512, SECRET_KEY)
.compact();
}
}
enter code here
我通过清除我的 Web 应用程序中的本地存储来修复我的错误,存储了一个旧令牌,把事情搞砸了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.