findByLoginId 추가
//interface UserRepository
//public User findByLoginId(String loginId);
public Optional<User> findByLoginId(String loginId);
//class UserServiceImpl
@Override
public User checkPassword(String loginId, String password) {
return userRepository.findByLoginId(loginId)
.filter(m -> m.getPassword().equals(password))
.orElse(null);
}
SignUp Dto 작성 중 json 메시지 유효성 검증을 위해 Gradle에 "Spring Boot Validation" 적용
Gradle
implementation 'org.springframework.boot:spring-boot-starter-validation'
SignupDto 과 별개로 LoginDto 생성
setSigningKey(String base64EncodedSecretKey) is deprecated
회원가입 후 로그인 시 토큰 반환
application.properties 내용 추가
jwt.secret=3NwcmluZy5qcGEucHJvcGVydGllcy5oaWJlcm5hdGUuZGlhbGVjdD1vcmcuaGliZXJuYXRlLmRpYWxlY3QuSDJEaWFsZWN0JyANCg==
jwt.expiration-in-seconds=86400
@GetMapping("/login-check") //Test
public ResponseEntity<String> loginCheck(**@LoginUser** User user) {
log.info("user.getId()={}", user.getId());
log.info("user.getLoginId()={}", user.getLoginId());
log.info("user.getEmail()={}", user.getEmail());
return new ResponseEntity<>("OK", HttpStatus.OK);
}