BcryptPasswordEncoder : 스프링 시큐리티에서 제공해주는 클래스
객체를 만들어 @Bean으로 넣어주면 다른 곳에서도 사용 가능하다.
@Bean
public BCryptPasswordEncoder encodePassword() {
return new BCryptPasswordEncoder();
}
UserService에서는 Bean으로 등록한 encoder를 주입받는다. (주입받으면 UserService가 인코더를 가지게 된다.)
@Autowired
public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) {
this.userRepository = userRepository;
this.passwordEncoder = passwordEncoder;
}
string 내용을 넣어주면 인코더를 통해 그 결과로 복호화된 패스워드가 나온다.
public void registerUser(SignupRequestDto requestDto) {
...
String password = passwordEncoder.encode(requestDto.getPassword());
String email = requestDto.getEmail();
}
복호화된 패스워드를 DB에 저장해주면 된다.
isEqulTo() : 값을 비교하는 메서드 - 객체를 비교하게 되면 참조를 비교함
isSameAs() : 주소를 비교하는 메서드