From a5fac95408a43ad43de9d88c30d06c0918c7bc8f Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 29 May 2024 11:14:44 +0800
Subject: [PATCH] 配置调整

---
 src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoints.java |   72 ++++++++++++++++++++++++++++-------
 1 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java b/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoints.java
similarity index 63%
rename from src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java
rename to src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoints.java
index 0eb97e5..caa30f2 100644
--- a/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java
+++ b/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoints.java
@@ -1,7 +1,9 @@
 package org.springblade.auth.endpoint;
 
 import com.wf.captcha.SpecCaptcha;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.common.cache.CacheNames;
 import org.springblade.core.cache.utils.CacheUtil;
@@ -16,19 +18,25 @@
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.core.tool.utils.WebUtil;
+import org.springblade.modules.system.entity.UserInfo;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.oauth2.common.OAuth2AccessToken;
 import org.springframework.security.oauth2.common.OAuth2RefreshToken;
-import org.springframework.security.oauth2.provider.AuthorizationRequest;
-import org.springframework.security.oauth2.provider.ClientDetailsService;
 import org.springframework.security.oauth2.provider.token.TokenStore;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import java.io.IOException;
 import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
 
 import static org.springblade.core.cache.constant.CacheConstant.*;
 
@@ -41,20 +49,54 @@
 @Slf4j
 @RestController
 @AllArgsConstructor
-public class BladeTokenEndPoint {
+public class BladeTokenEndPoints {
 
 	private final BladeRedis bladeRedis;
 	private final JwtProperties jwtProperties;
-	private final ClientDetailsService clientDetailsService;
 	private final TokenStore tokenStore;
+
+	@Resource
+	private AuthenticationManager authenticationManager;
 
 	/**
 	 * 登录页面
 	 */
+	@SneakyThrows
 	@GetMapping("/oauth/login")
-	public ModelAndView require(ModelAndView model) {
-		model.setViewName("login");
-		return model;
+	public void require(HttpServletResponse response) {
+		response.setStatus(302);
+		response.sendRedirect("http://localhost:1888");
+	}
+//
+//	/**
+//	 * 登录页面
+//	 */
+//	@GetMapping("/oauth/login")
+//	public ModelAndView require(ModelAndView model) {
+//		model.setViewName("login");
+//		return model;
+//	}
+
+
+	/**
+	 * 自定义登录
+	 * @param username 用户名
+	 * @param password 密码
+	 * @return
+	 */
+	@PostMapping("/oauth/form")
+	@ApiOperation(value = "自定义登录")
+	public void login(HttpServletResponse response,String username, String password) throws IOException {
+		// 用户验证 authenticate方法会去调用自定义 myAuthenticationProvider 进行自定义校验
+		Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
+		//取出用户登录信息
+//		UserInfo userInfo = (UserInfo) authentication.getPrincipal();
+		//定义返回 map
+		Map<String, Object> map = new HashMap<>();
+		//创建token
+//		map.put("token",tokenService.createToken(userInfo));
+		//返回
+		response.sendRedirect("http://localhost:9530/oauth/authorize?client_id=sword&response_type=code&redirect_uri=https://www.baidu.com");
 	}
 
 	/**
@@ -62,13 +104,13 @@
 	 */
 	@GetMapping("/oauth/confirm_access")
 	public ModelAndView confirm(HttpSession session, ModelAndView model) {
-		Object auth = session.getAttribute("authorizationRequest");
-		if (auth != null) {
-			AuthorizationRequest authorizationRequest = (AuthorizationRequest) auth;
-			model.addObject("client", clientDetailsService.loadClientByClientId(authorizationRequest.getClientId()));
-			model.addObject("principal", SecurityContextHolder.getContext().getAuthentication().getPrincipal());
-		}
-		model.setViewName("confirm");
+//		Object auth = session.getAttribute("authorizationRequest");
+//		if (auth != null) {
+//			AuthorizationRequest authorizationRequest = (AuthorizationRequest) auth;
+//			model.addObject("client", clientDetailsService.loadClientByClientId(authorizationRequest.getClientId()));
+//			model.addObject("principal", SecurityContextHolder.getContext().getAuthentication().getPrincipal());
+//		}
+//		model.setViewName("confirm");
 		return model;
 	}
 

--
Gitblit v1.9.3