Browse Source

开发时跳过行为验证

杨杰 6 years ago
parent
commit
996dc75b18

+ 1 - 6
src/main/java/com/llisoft/service/sms/controller/SmsController.java

@@ -4,7 +4,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -23,9 +22,6 @@ import io.swagger.annotations.ApiOperation;
 @RestController
 public class SmsController {
 	
-	@Value("${mta.debug}")
-	private boolean debug;
-	
 	@Autowired
 	private SmsService smsService;
 	
@@ -33,9 +29,8 @@ public class SmsController {
 	@ApiOperation(value="发送验证码")
 	@PostMapping("/sendCode")
 	public ResponseVo<Boolean> sendCode(@Valid @RequestBody SendCodeRequestVo vo, HttpServletRequest request) throws MtaException{
-		String ip = debug ? "119.109.18.203" : ServletUtil.getIp(request);
 		return ResponseVo.success(smsService.sendCode(vo.getPhone(), vo.getAppkey(), 
-			vo.getScene(), vo.getToken(), vo.getSessionid(), vo.getSig(), ip));
+			vo.getScene(), vo.getToken(), vo.getSessionid(), vo.getSig(), ServletUtil.getIp(request)));
 	}
 	
 	@ApiOperation(value="发送消息")

+ 8 - 1
src/main/java/com/llisoft/service/sms/service/SmsService.java

@@ -6,6 +6,7 @@ import java.util.concurrent.TimeUnit;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import com.llisoft.common.exception.MtaException;
@@ -21,6 +22,9 @@ public class SmsService {
 	
 	private Logger logger = LoggerFactory.getLogger(SmsService.class);
 	
+	@Value("${mta.debug}")
+	private boolean debug;
+	
 	@Autowired
 	private AliyunService aliyunService;
 	
@@ -35,7 +39,10 @@ public class SmsService {
 			String token, String sessionId, String sig, String ip) throws MtaException {
 		// 检查验证码
 		logger.info("安全验证: appkey={}, scene={}, token={}, sessionId={}, sig={}, ip={}", appkey, scene, token, sessionId, sig, ip);
-		if (!aliyunService.afs(appkey, scene, token, sessionId, sig, ip)) {
+		if (debug) {
+			logger.warn("开发模式:安全验证已跳过");
+		}
+		if (!debug && !aliyunService.afs(appkey, scene, token, sessionId, sig, ip)) {
 			logger.warn("安全验证失败:{}", token);
 			throw new MtaException("安全验证失败:" + token);
 		}

+ 6 - 1
src/test/java/com/llisoft/service/sms/ServiceTest.java

@@ -18,7 +18,12 @@ public class ServiceTest {
 	@Test
 	public void test() throws Exception{
 		long begin = System.currentTimeMillis();
-		System.out.println(smsService.checkCode("13552635233", "5507"));
+		System.out.println(smsService.sendCode("13552635233", "FFFF0N00000000007EC0", "nc_message", 
+				"564565", 
+				"1AqHb9a5BYfxoNlsnrGZyDBtd7Iaiuywjkwb7JGTL5zSXBuaiyoW56n95ldyMHj5lZkimcGbA-XllwI2o9t83k9WeNehFYXOArpda-XDNiEEKeVlrJDt01j1bkUlhx_BXhvRqTX57PTdHoUBvzdGVfltzUZPC7fSbpq3ioud8KxipjUK34DBIuco5KB0GPVzM", 
+				"5XqrtZ0EaFgmmqIQes-s-CF5NpYdMgFzO50Qw4NdPuD91JWqYsOLZUWJRzsyCiSiP3DBEMIenUZ2Yn5icRXVRutJ7F5YLXWOHzeBd5iN0Jor15E1gZkJicTJ-YXNgycJpsvJz3qSJXLj7DodnTTSHvfTVz7kHbAkAzvgM_G1ZmK-3SuyCw_2vnt6f-LhzjmKHip0AsEJpIdCCgUHhRtzAPgisplTknaZGYuj8LHsUAEgXXJf0zPWeMKQBbR_nwjyPufH9PZvYLpPxsgi-EI3_2043n5gcQ5M9HWkSw4IZpXKg2BD9GedAs-ZjYQnTl91vw91i_WJZJUKppW38DPxagcXlpNL3Dg-83bjBgQSk3ELnFOsSvlW43mEJAWXGzx_ZwIULIvg6ilA_rLGyCmG5uc3inTnLQO1t6vuj4CGCFM0", 
+				"119.109.18.203"));
+//		System.out.println(smsService.checkCode("13552635233", "5507"));
 		System.out.println("耗时:"+ (System.currentTimeMillis() - begin));
 	}