From 546f9efec9864dd6887ca47afb1c5634ce5fc070 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 九月 2023 16:28:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
index 0d10fee..12b129d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
@@ -2,34 +2,73 @@
 
 import com.vci.ubcs.code.service.IPasswordFreeLoginService;
 import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+import org.springframework.web.servlet.view.RedirectView;
 
 import javax.annotation.Resource;
+import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import java.io.IOException;
+
+import static com.vci.ubcs.starter.util.AESUtils.aesDecrypt;
+import static com.vci.ubcs.starter.util.AESUtils.aesEncrypt;
 
 /**
  * @author ludc
  * @date 2023/9/12 9:07
  */
-@RestController
+@Controller
 @RequestMapping("/passwordFree")
 @Api(value = "鍏嶅瘑鐧诲綍鎺ュ彛", tags = "鍏嶅瘑鐧诲綍鎺ュ彛")
+@Slf4j
 public class PasswordFreeLoginController {
+
+	// 鍒汉璋冪敤鎴戜滑鐨勫崟鐐归噸瀹氬悜鐨勫湴鍧�
+	@Value("${password-free.sso-redirect-addr}")
+	private String ssoRedirectAddr;
 
 	@Resource
 	private IPasswordFreeLoginService passwordFreeLoginService;
 
 	@PostMapping("/login")
-	public R passwordFreeLogin(@RequestParam String username, HttpServletRequest request) {
+	@ResponseBody
+	public R passwordFreeLogin(@RequestParam("userName") String username, HttpServletRequest request) {
 		boolean status;
 		try {
-			status = passwordFreeLoginService.passwordFreeLogin(username,request);
+			status = passwordFreeLoginService.pwdFreeLoginByBoolean(username,request);
 		}catch (Exception e){
 			throw new ServiceException("鍏嶅瘑鐧诲綍鑾峰彇token澶辫触锛�"+e.getMessage());
 		}
 		return R.status(status);
 	}
 
+	/**
+	 * 鍗曠偣鐧诲綍
+	 * @param request
+	 * @return
+	 * @throws Exception
+	 */
+	@GetMapping("/ssoLogin")
+	public String oaSsoLogin(HttpServletRequest request,HttpServletResponse response, RedirectAttributes redirectAttributes) throws IOException, ServletException {
+		String token;
+		try {
+			token = passwordFreeLoginService.ssoFreeLogin(request);
+		}catch (Exception e){
+			throw new ServiceException("鍗曠偣鐧诲綍鑾峰彇token澶辫触:"+e.getMessage());
+		}
+		redirectAttributes.addFlashAttribute("tokenInfo",token);
+		return "redirect:"+ssoRedirectAddr;
+	}
+
 }

--
Gitblit v1.9.3