Merge branch 'devs/ums' into jenkins_with_weblogic

# Conflicts:
#	src/main/java/com/eactive/apim/portal/apps/user/service/MessageRequestService.java
#	src/main/java/com/eactive/apim/portal/apps/user/service/PortalUserAuthService.java
#	src/main/java/com/eactive/apim/portal/config/PortalAuthenticationSuccessHandler.java
This commit is contained in:
Rinjae
2025-11-04 16:02:18 +09:00
7 changed files with 81 additions and 18 deletions
@@ -1,6 +1,6 @@
package com.eactive.apim.portal.apps.auth.service;
import com.eactive.apim.portal.portaluser.event.UserVerificationMobilePhoneEvent;
import com.eactive.apim.portal.template.entity.MessageCode;
import com.eactive.apim.portal.template.service.MessageHandlerService;
import com.eactive.apim.portal.template.service.MessageRecipient;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,15 +31,15 @@ public class MessageSender {
// 이메일, SMS MESSAEG_CODE 다름 처리
String messageCode = "";
MessageCode code;
if ("email".equalsIgnoreCase(msgType)) {
messageCode = "USER_VERIFICATION_EMAIL";
code = MessageCode.USER_VERIFICATION_EMAIL;
} else if ("sms".equalsIgnoreCase(msgType)) {
messageCode = "USER_VERIFICATION_MOBILEPHONE";
code = MessageCode.USER_VERIFICATION_MOBILEPHONE;
} else {
throw new IllegalArgumentException("Unsupported message type: " + msgType);
}
messageHandlerService.publishEvent(UserVerificationMobilePhoneEvent.KEY, recipient, params);
messageHandlerService.publishEvent(code, recipient, params);
}
}
@@ -19,7 +19,7 @@ import com.eactive.apim.portal.file.service.FileTypeContext;
import com.eactive.apim.portal.portalorg.entity.PortalOrg;
import com.eactive.apim.portal.portaluser.entity.PortalUser;
import com.eactive.apim.portal.portaluser.entity.PortalUserEnums;
import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent;
import com.eactive.apim.portal.portaluser.event.UserVerificationEmailEvent;
import com.eactive.apim.portal.portaluser.repository.PortalUserRepository;
import com.eactive.apim.portal.template.service.MessageHandlerService;
import com.eactive.apim.portal.template.service.MessageRecipient;
@@ -206,7 +206,7 @@ public class OrgRegisterFacadeImpl implements OrgRegisterFacade {
try {
String encToken = encryptionUtil.encrypt(tokenValue);
params.put("token", Base64.encode(encToken.getBytes(StandardCharsets.UTF_8)));
messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params);
messageHandlerService.publishEvent(UserVerificationEmailEvent.KEY, recipient, params);
} catch (NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
throw new SystemException("암호화 모듈 오류");
}
@@ -16,7 +16,7 @@ import com.eactive.apim.portal.invitation.entity.UserInvitation;
import com.eactive.apim.portal.invitation.entity.UserInvitationEnums;
import com.eactive.apim.portal.invitation.repository.UserInvitationRepository;
import com.eactive.apim.portal.portaluser.entity.PortalUser;
import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent;
import com.eactive.apim.portal.portaluser.event.UserVerificationEmailEvent;
import com.eactive.apim.portal.portaluser.repository.PortalUserRepository;
import com.eactive.apim.portal.template.service.MessageHandlerService;
import com.eactive.apim.portal.template.service.MessageRecipient;
@@ -219,7 +219,7 @@ public class UserRegisterFacadeImpl implements UserRegisterFacade {
String tokenValue = String.valueOf(authNumberGenerator.generateAuthNumber());
// String tokenValue = registeredUser.getCreatedDate().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")) + ":" + registeredUser.getId();
params.put("token", tokenValue);
messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params);
messageHandlerService.publishEvent(UserVerificationEmailEvent.KEY, recipient, params);
// try {
// String encToken = encryptionUtil.encrypt(tokenValue);
@@ -16,13 +16,9 @@ public class MessageRequestService {
private final MessageRequestRepository messageRequestRepository;
public MessageRequest createMessageRequest(String messageCodeStr, String username, String email, String phone) {
public MessageRequest createMessageRequest(MessageCode messageCode, String username, String email, String phone) {
MessageRequest messageRequest = new MessageRequest();
// String을 MessageCode enum으로 변환
MessageCode messageCode = MessageCode.valueOf(messageCodeStr);
// MessageRequest 설정
messageRequest.setMessageCode(messageCode);
messageRequest.setSubject(messageCode.getDescription());
messageRequest.setUsername(username);
@@ -11,7 +11,6 @@ import com.eactive.apim.portal.config.PortalProperties;
import com.eactive.apim.portal.portaluser.entity.PortalUser;
import com.eactive.apim.portal.portaluser.entity.PortalUserEnums;
import com.eactive.apim.portal.portaluser.entity.PortalUserEnums.RoleCode;
import com.eactive.apim.portal.portaluser.event.UserEmailActivationEvent;
import com.eactive.apim.portal.portaluser.event.UserPasswordResetEvent;
import com.eactive.apim.portal.portaluser.repository.PortalUserRepository;
import com.eactive.apim.portal.template.entity.MessageCode;
@@ -120,7 +119,7 @@ public class PortalUserAuthService implements UserDetailsService {
// Enum을 직접 전달
List<MessageRequest> messageRequests = messageRequestRepository.findByEmailAndMessageCode(
user.getLoginId(), MessageCode.USER_ACTIVATION
user.getLoginId(), MessageCode.USER_VERIFICATION_EMAIL
);
if (!messageRequests.isEmpty()) {
@@ -134,7 +133,7 @@ public class PortalUserAuthService implements UserDetailsService {
String encToken = encryptionUtil.encrypt(tokenValue);
params.put("token", Base64.encode(encToken.getBytes(StandardCharsets.UTF_8)));
MessageRecipient recipient = createMessageRecipient(user);
messageHandlerService.publishEvent(UserEmailActivationEvent.KEY, recipient, params);
messageHandlerService.publishEvent(MessageCode.USER_VERIFICATION_EMAIL, recipient, params);
} catch (NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
throw new SystemException("암호화 모듈 오류");
}
@@ -97,7 +97,8 @@ public class PortalAuthenticationSuccessHandler implements AuthenticationSuccess
}
private boolean isTemporaryPasswordLogin(PortalUser user) {
Optional<MessageRequest> latestResetRequest = messageRequestRepository.findFirstByEmailAndMessageCodeOrderByRequestDateDesc(user.getLoginId(), MessageCode.USER_PASSWORD_RESET);
Optional<MessageRequest> latestResetRequest = messageRequestRepository.findFirstByEmailAndMessageCodeOrderByRequestDateDesc(
user.getLoginId(), MessageCode.USER_PASSWORD_RESET);
if (latestResetRequest.isPresent()) {