From c2d8465faade429e8b8f677864b0bc2da763e71c Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期二, 23 十一月 2021 11:57:55 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.0.10:29418/pcalife/PAM --- pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java | 40 ++++++++++++---------------------------- 1 files changed, 12 insertions(+), 28 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java b/pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java index bb55739..6308dac 100644 --- a/pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java +++ b/pamapi/src/main/java/com/pollex/pam/web/rest/OtpResource.java @@ -1,15 +1,13 @@ package com.pollex.pam.web.rest; import com.pollex.pam.config.ApplicationProperties; +import com.pollex.pam.enums.OtpLoginTypeEnum; import com.pollex.pam.security.jwt.JWTFilter; import com.pollex.pam.security.jwt.TokenProvider; import com.pollex.pam.security.token.OtpAuthenticationToken; import com.pollex.pam.service.OtpWebService; import com.pollex.pam.service.dto.OtpResponseDTO; -import com.pollex.pam.web.rest.vm.OtpAccount; -import com.pollex.pam.web.rest.vm.OtpEmailLoginVM; -import com.pollex.pam.web.rest.vm.OtpSMSLoginVM; -import com.pollex.pam.web.rest.vm.VerifyOtpVM; +import com.pollex.pam.web.rest.vm.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -22,14 +20,8 @@ import org.springframework.web.bind.annotation.*; import javax.xml.rpc.ServiceException; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; import java.rmi.RemoteException; -import java.util.Arrays; -import java.util.Random; import java.util.UUID; - -import static java.nio.charset.StandardCharsets.UTF_8; @RestController @RequestMapping("/api/otp") @@ -49,29 +41,21 @@ @Autowired TokenProvider tokenProvider; - @PostMapping("/byPhone") - public ResponseEntity<Object> sendOtpByPhone(@RequestBody OtpSMSLoginVM login) { + @PostMapping("/sendOtp") + public ResponseEntity<Object> sendOtp(@RequestBody OtpLoginVM login) { try { if(applicationProperty.isMockLogin()) { - return new ResponseEntity<>(getMockOtpResponse(), HttpStatus.OK); + return new ResponseEntity<>(getMockSendOtpResponse(), HttpStatus.OK); } - OtpResponseDTO otpResponseDTO = otpWebService.sendByPhone(login.getPhone()); - return new ResponseEntity<>(otpResponseDTO, HttpStatus.OK); - } catch (ServiceException | RemoteException e) { - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("connecting otp web service error"); - } - } - - @PostMapping("/byEmail") - public ResponseEntity<Object> sendOtpByEmail(@RequestBody OtpEmailLoginVM login) { - try { - if(applicationProperty.isMockLogin()) { - return new ResponseEntity<>(getMockOtpResponse(), HttpStatus.OK); + if(login.getLoginType() == OtpLoginTypeEnum.SMS) { + return new ResponseEntity<>(otpWebService.sendByPhone(login.getAccount()), HttpStatus.OK); + } + else if(login.getLoginType() == OtpLoginTypeEnum.EMAIL) { + return new ResponseEntity<>(otpWebService.sendByEmail(login.getAccount()), HttpStatus.OK); } - OtpResponseDTO otpResponseDTO = otpWebService.sendByEmail(login.getEmail()); - return new ResponseEntity<>(otpResponseDTO, HttpStatus.OK); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("can not support this login type, loginType = " + login.getLoginType().name()); } catch (ServiceException | RemoteException e) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("connecting otp web service error"); } @@ -93,7 +77,7 @@ return new ResponseEntity<>(new UserJWTController.JWTToken(jwt), httpHeaders, HttpStatus.OK); } - private OtpResponseDTO getMockOtpResponse() { + private OtpResponseDTO getMockSendOtpResponse() { String indexKey = UUID.randomUUID().toString().substring(0, 8); return new OtpResponseDTO(new String[]{indexKey, "0", "", ""}); } -- Gitblit v1.8.0