🐛 使用失效 token 请求接口返回 401 数据重复问题修复
🐛 使用失效 token 请求接口返回 401 数据重复问题修复
This commit is contained in:
commit
61e54fb79f
@ -1,7 +1,10 @@
|
||||
package com.rymcu.forest.auth;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.rymcu.forest.core.result.GlobalResult;
|
||||
import com.rymcu.forest.core.result.GlobalResultGenerator;
|
||||
import com.rymcu.forest.core.result.ResultCode;
|
||||
import com.rymcu.forest.util.ErrorCode;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.SignatureException;
|
||||
@ -126,7 +129,8 @@ public class JwtFilter extends BasicHttpAuthenticationFilter {
|
||||
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
|
||||
httpServletResponse.setContentType("application/json");
|
||||
httpServletResponse.setCharacterEncoding("UTF-8");
|
||||
httpServletResponse.getOutputStream().write(JSONObject.toJSONString(GlobalResultGenerator.genErrorResult("未登录或已登录超时,请重新登录")).getBytes());
|
||||
httpServletResponse.getOutputStream().write(JSONObject.toJSONString(new GlobalResult<>(ResultCode.UNAUTHENTICATED)).getBytes());
|
||||
httpServletResponse.getOutputStream().flush();
|
||||
} catch (IOException e) {
|
||||
// 错误日志
|
||||
log.error(e.getMessage());
|
||||
|
@ -3,6 +3,7 @@ package com.rymcu.forest.config;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
|
||||
|
||||
/**
|
||||
@ -21,4 +22,9 @@ public class RedisListenerConfig {
|
||||
container.setConnectionFactory(connectionFactory);
|
||||
return container;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
|
||||
return new StringRedisTemplate(redisConnectionFactory);
|
||||
}
|
||||
}
|
||||
|
@ -60,7 +60,6 @@ public class OpenAiController {
|
||||
throw new IllegalArgumentException("参数异常!");
|
||||
}
|
||||
User user = UserUtils.getCurrentUserByToken();
|
||||
Collections.reverse(messages);
|
||||
List<ChatMessage> list = new ArrayList<>(messages.size());
|
||||
if (messages.size() > 4) {
|
||||
messages = messages.subList(messages.size() - 4, messages.size());
|
||||
@ -78,6 +77,7 @@ public class OpenAiController {
|
||||
|
||||
@NotNull
|
||||
private GlobalResult sendMessage(User user, List<ChatMessage> list) {
|
||||
boolean isAdmin = UserUtils.isAdmin(user.getEmail());
|
||||
OpenAiService service = new OpenAiService(token, Duration.ofSeconds(180));
|
||||
ChatCompletionRequest completionRequest = ChatCompletionRequest.builder()
|
||||
.model("gpt-3.5-turbo-16k-0613")
|
||||
|
@ -78,4 +78,8 @@ public class UserUtils {
|
||||
}
|
||||
throw new UnauthenticatedException();
|
||||
}
|
||||
|
||||
public static boolean isAdmin(String email) {
|
||||
return userMapper.hasAdminPermission(email);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user