diff --git a/examples/spring-boot-example/src/main/java/org/clevercastle/helper/login/examples/springboot/springbootexample/Beans.java b/examples/spring-boot-example/src/main/java/org/clevercastle/helper/login/examples/springboot/springbootexample/Beans.java index d6763a2..12bf86d 100644 --- a/examples/spring-boot-example/src/main/java/org/clevercastle/helper/login/examples/springboot/springbootexample/Beans.java +++ b/examples/spring-boot-example/src/main/java/org/clevercastle/helper/login/examples/springboot/springbootexample/Beans.java @@ -10,6 +10,7 @@ import org.clevercastle.helper.login.repository.rdsjpa.UserRepositoryImpl; import org.clevercastle.helper.login.token.TokenService; import org.clevercastle.helper.login.token.jwt.JwtTokenService; +import org.clevercastle.helper.login.verification.DummyVerificationService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; @@ -53,8 +54,8 @@ public TokenService tokenService() throws NoSuchAlgorithmException, InvalidKeySp } @Bean - public UserService userService(UserRepository userRepository, TokenService tokenService) { - return new UserServiceImpl(Config.builder().build(), userRepository, tokenService); + public UserService userService(UserRepository userRepository, UserLoginItemRepository userLoginItemRepository, TokenService tokenService) { + return new UserServiceImpl(Config.builder().build(), userRepository, tokenService, new DummyVerificationService(userLoginItemRepository)); } diff --git a/src/main/java/org/clevercastle/helper/login/UserServiceImpl.java b/src/main/java/org/clevercastle/helper/login/UserServiceImpl.java index 92af86a..61299c3 100644 --- a/src/main/java/org/clevercastle/helper/login/UserServiceImpl.java +++ b/src/main/java/org/clevercastle/helper/login/UserServiceImpl.java @@ -24,6 +24,7 @@ import org.clevercastle.helper.login.util.HashUtil; import org.clevercastle.helper.login.util.IdUtil; import org.clevercastle.helper.login.util.TimeUtils; +import org.clevercastle.helper.login.verification.VerificationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,13 +40,16 @@ public class UserServiceImpl implements UserService { private final Config config; private final UserRepository userRepository; private final TokenService tokenService; + private final VerificationService verificationService; public UserServiceImpl(Config config, UserRepository userRepository, - TokenService tokenService) { + TokenService tokenService, + VerificationService verificationService) { this.config = config; this.userRepository = userRepository; this.tokenService = tokenService; + this.verificationService = verificationService; } @Override @@ -82,6 +86,7 @@ public User register(UserRegisterRequest userRegisterRequest) throws CastleExcep userLoginItem.setCreatedAt(now); userLoginItem.setUpdatedAt(now); this.userRepository.save(user, userLoginItem); + this.verificationService.sendVerificationCode(userLoginItem.getLoginIdentifier(), userLoginItem.getVerificationCode()); return user; } @@ -99,7 +104,7 @@ public void verify(String loginIdentifier, String verificationCode) throws Castl if (!StringUtils.equals(verificationCode, userLoginItem.getVerificationCode())) { throw new CastleException(); } - this.userRepository.confirmLoginItem(loginIdentifier); + this.verificationService.verify(loginIdentifier, verificationCode); } @Override diff --git a/src/main/java/org/clevercastle/helper/login/verification/DummyVerificationService.java b/src/main/java/org/clevercastle/helper/login/verification/DummyVerificationService.java new file mode 100644 index 0000000..a5456f2 --- /dev/null +++ b/src/main/java/org/clevercastle/helper/login/verification/DummyVerificationService.java @@ -0,0 +1,20 @@ +package org.clevercastle.helper.login.verification; + +import org.clevercastle.helper.login.CastleException; +import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class DummyVerificationService extends AbstractVerificationService { + private final Logger logger = LoggerFactory.getLogger(DummyVerificationService.class); + + public DummyVerificationService(UserLoginItemRepository userLoginItemRepository) { + super(userLoginItemRepository); + } + + @Override + public void sendVerificationCode(String loginIdentifier, String verificationCode) throws CastleException { + logger.info("verification code is: {}", verificationCode); + + } +}