| | |
| | | |
| | | import com.pollex.pam.domain.OtpTmp; |
| | | import com.pollex.pam.enums.OtpTmpStatusEnum; |
| | | import com.pollex.pam.web.rest.errors.OtpLoginFailException; |
| | | import com.pollex.pam.web.rest.vm.VerifyOtpVM; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | |
| | | @Transactional |
| | | public void verifyOtp(String account, String indexKey, String otpCode) { |
| | | try { |
| | | if(applicationProperty.isMockLogin()){ |
| | | loginRecordService.saveOTPLoginSuccessRecord(account); |
| | | log.debug("Do MockLogin"); |
| | | } else { // otp logon |
| | | OtpResponseDTO otpResponseDTO = otpWebService.verifyOTP(indexKey, otpCode); |
| | | if (otpResponseDTO.isSuccess()) { |
| | | loginRecordService.saveOTPLoginSuccessRecord(account); |
| | | } |
| | | else { |
| | | loginRecordService.saveOTPLoginFailRecord(account, otpResponseDTO.getFailReason()); |
| | | throw new AuthenticationCredentialsNotFoundException(""); |
| | | } |
| | | if (applicationProperty.isMockLogin()) { |
| | | log.debug("Do MockLogin"); |
| | | } else { // otp logon |
| | | OtpResponseDTO otpResponseDTO = otpWebService.verifyOTP(indexKey, otpCode); |
| | | if (otpResponseDTO.isSuccess()) { |
| | | log.info("otp login success!"); |
| | | } |
| | | setVerrifiedOtpTmp(account, indexKey); |
| | | } catch (Exception e) { |
| | | log.error("Exception: ", e); |
| | | throw new AuthenticationCredentialsNotFoundException(""); |
| | | else { |
| | | log.info("otp login fail... , account = {}, failReason = {}", account, otpResponseDTO.getFailReason()); |
| | | loginRecordService.saveOTPLoginFailRecord(account, otpResponseDTO.getFailReason()); |
| | | throw new OtpLoginFailException(otpResponseDTO.getFailReason()); |
| | | } |
| | | } |
| | | loginRecordService.saveOTPLoginSuccessRecord(account); |
| | | setVerrifiedOtpTmp(account, indexKey); |
| | | } |
| | | |
| | | private void setVerrifiedOtpTmp(String account, String indexKey) { |