JWT 통합springboot token 인증 구현(코드 실습)
2193 단어 Java 백그라운드
public static final long EXPIRATION_TIME = 3600_000; // 1 hour
public static final String SECRET = "secret";
public static final String TOKEN_PREFIX = "Bearer";
public static final String HEADER_STRING = "Authorization";
public static final String ROLE = "ROLE";
public static String getToken(String userRole) {
HashMap map = new HashMap<>();
map.put(ROLE, userRole);
String jwt = Jwts.builder()
.setClaims(map) //playload
.setSubject(" ") //
.setIssuer("jay") //
.setIssuedAt(new Date()) //
.setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME)) //
.signWith(SignatureAlgorithm.HS512, SECRET) //
.compact();
return TOKEN_PREFIX + " " + jwt;
}
public static HttpServletRequest validateTokenAndAddUserIdToHeader(HttpServletRequest request) {
String token = request.getHeader(HEADER_STRING);
if (token != null) {
// parse the token.
try {
Map body = Jwts.parser()
.setSigningKey(SECRET)
.parseClaimsJws(token.replace(TOKEN_PREFIX, ""))
.getBody();
return new CustomHttpServletRequest(request, body);
} catch (Exception e) {
logger.info(e.getMessage());
throw new TokenValidationException(e.getMessage());
}
} else {
throw new TokenValidationException("Missing token");
}
}
유사 기사 추천:https://www.jianshu.com/p/fe67b4bb6f2c
GitHub 권장사항:https://github.com/ZhongjunTian/spring-boot-jwt-demo/basic
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JWT 통합springboot token 인증 구현(코드 실습)JWT의 소개와 장단점은 여기서 설명하지 않겠습니다. 이러한 인터넷의 소개는 여기서 두세 마디 말보다 더욱 명확하다고 믿습니다. 본고는 단일 로그인으로 사용자의 체험을 향상시키는 데 사용됩니다. token을 생성하여...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.