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