나머지 api의 보안을 위해 JWT 토큰을 사용 중입니다.여러 서버 인스턴스에서 실행중인 분산 시스템 용 JWT 토큰
사용자가 로그인 할 때 DB로 사용자의 자격 증명을 확인하십시오. 우리가 사용자의 사용자가 보낼 때 우리가 그들을 일치 할 수 있도록 우리는 어딘가에 비밀을 유지할 필요가 토큰을 일치시키기 위해 지금 토큰
를 만들 JWT에 전달 후 추가 보안을 위해 암호화되어 일치하는 경우
로그 인한 후 모든 요청
우리는 할 수 있습니다. 1. 데이터베이스에 보관하십시오. 나머지 호출은 데이터베이스에있는 토큰으로 체크 토큰을받습니다. 나머지 호출마다 너무 비쌉니다. 2. 어딘가에 비밀을 유지하십시오. JVM을 사용하십시오. 여기 패키지
나오는 javax.servlet.http.HttpServletRequest
// 내 주요 이슈 코드
// Encrypt it
Key key = keyGenerator.generateKey(password);
jwtToken = Jwts.builder()
.setSubject(username)
.setIssuer(uriInfo.getAbsolutePath().toString())
.setIssuedAt(new Date())
.setExpiration(toDate(LocalDateTime.now().plusMinutes(1)))
.signWith(SignatureAlgorithm.HS512, key)
.compact();
// 세션에 세부 사항을 추가
HttpSession httpSession = currentRequest.getSession();
httpSession.setAttribute("userSecret", password)
에서 HttpSession을 시도 이것은 단일 서버 인스턴스에서 잘 작동합니다.
하지만 어느 시점에서 우리는 서버를 확장하고 여러 인스턴스를 실행해야합니다. 우리는 사용자가 1 개 인스턴스를 사용하여로드 밸런싱을 사용하여 다른 인스턴스를 사용하여 나머지 통화를 제공 할 수 있습니다 로그인 할 수있다이 사건을 처리하려면 어떻게
. 사용자 비밀로
는 첫 번째 서버의 JVM에서 사용할 수 있습니다.