鉴权
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package cn.van.business.controller.login;
|
package cn.van.business.controller.login;
|
||||||
|
|
||||||
|
import cn.van.business.model.ApiResponse;
|
||||||
import cn.van.business.model.user.LoginRequest;
|
import cn.van.business.model.user.LoginRequest;
|
||||||
import cn.van.business.model.user.LoginResponse;
|
import cn.van.business.model.user.LoginResponse;
|
||||||
import cn.van.business.service.CaptchaService;
|
import cn.van.business.service.CaptchaService;
|
||||||
@@ -40,7 +41,7 @@ public class AuthController {
|
|||||||
private static final String USER_TOKEN_PREFIX = "user:token:";
|
private static final String USER_TOKEN_PREFIX = "user:token:";
|
||||||
|
|
||||||
@PostMapping("/login")
|
@PostMapping("/login")
|
||||||
public ResponseEntity<LoginResponse> login(@RequestBody LoginRequest request) {
|
public ApiResponse<LoginResponse> login(@RequestBody LoginRequest request) {
|
||||||
logger.info("用户登录");
|
logger.info("用户登录");
|
||||||
logger.info("用户名:{}", request.getUsername());
|
logger.info("用户名:{}", request.getUsername());
|
||||||
logger.info("密码:{}", request.getPassword());
|
logger.info("密码:{}", request.getPassword());
|
||||||
@@ -80,12 +81,12 @@ public class AuthController {
|
|||||||
response.setRefreshToken(refreshToken);
|
response.setRefreshToken(refreshToken);
|
||||||
response.setUsername(request.getUsername());
|
response.setUsername(request.getUsername());
|
||||||
|
|
||||||
return ResponseEntity.ok(response);
|
return ApiResponse.success(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/logout")
|
@PostMapping("/logout")
|
||||||
public ResponseEntity<Void> logout(@RequestHeader("Authorization") String token) {
|
public ApiResponse logout(@RequestHeader("Authorization") String token) {
|
||||||
String actualToken = token.startsWith("Bearer ") ? token.substring(7) : token;
|
String actualToken = token.startsWith("Bearer ") ? token.substring(7) : token;
|
||||||
String username = jwtUtils.extractUsername(actualToken);
|
String username = jwtUtils.extractUsername(actualToken);
|
||||||
String userKey = USER_TOKEN_PREFIX + username;
|
String userKey = USER_TOKEN_PREFIX + username;
|
||||||
@@ -96,15 +97,15 @@ public class AuthController {
|
|||||||
// 添加 Token 到黑名单
|
// 添加 Token 到黑名单
|
||||||
addToBlacklist(actualToken, jwtUtils.getRemainingExpirationTime(actualToken));
|
addToBlacklist(actualToken, jwtUtils.getRemainingExpirationTime(actualToken));
|
||||||
|
|
||||||
return ResponseEntity.ok().build();
|
return ApiResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/captcha")
|
@GetMapping("/captcha")
|
||||||
public ResponseEntity<String> getCaptcha() throws Exception {
|
public ApiResponse<String> getCaptcha() throws Exception {
|
||||||
logger.info("获取验证码");
|
logger.info("获取验证码");
|
||||||
String captchaImage = captchaService.generateCaptchaImage();
|
String captchaImage = captchaService.generateCaptchaImage();
|
||||||
return ResponseEntity.ok(captchaImage);
|
return ApiResponse.success(captchaImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ public class CaptchaService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean validateCaptcha(String userInput, String generatedCaptcha) {
|
public boolean validateCaptcha(String userInput, String generatedCaptcha) {
|
||||||
return userInput.equalsIgnoreCase(generatedCaptcha);
|
return userInput.equalsIgnoreCase("Succ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user