public User parseUserFromToken(String token) {
try {
String username = Jwts.parser()
.setSigningKey(secret)
.parseClaimsJws(token)
.getBody()
.getSubject();
String roleString = Jwts.parser()
.setSigningKey(secret)
.parseClaimsJws(token).getBody().get("roles", String.class);
List<SimpleGrantedAuthority> roles = new ArrayList<>();
if (!StringUtils.isEmpty(roleString)) {
String[] roleValues = StringUtils.split(roleString, ",");
for (String roleValue : roleValues) {
roles.add(new SimpleGrantedAuthority(roleValue));
}
}
return new User(username, token, roles);
} catch (UnsupportedJwtException | MalformedJwtException | IllegalArgumentException | SignatureException ex) {
throw new BadCredentialsException("Invalid JWT token: ", ex);
} catch (ExpiredJwtException expiredEx) {
throw new JwtExpiredTokenException("JWT Token expired", expiredEx);
}
}
JwtTokenUtil.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:kinota-server
作者:
评论列表
文章目录