From 8d602fe2a474ee3baae4447c7f07d027b25bedfe Mon Sep 17 00:00:00 2001 From: guyue <1721849008@qq.com> Date: 星期四, 17 七月 2025 21:30:02 +0800 Subject: [PATCH] 修改token解析 --- src/main/java/com/linghu/controller/AuthController.java | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/linghu/controller/AuthController.java b/src/main/java/com/linghu/controller/AuthController.java index 6ff8df4..06e9f4a 100644 --- a/src/main/java/com/linghu/controller/AuthController.java +++ b/src/main/java/com/linghu/controller/AuthController.java @@ -2,7 +2,13 @@ import java.util.HashMap; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.linghu.utils.OpenCryptUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -49,18 +55,24 @@ //open-crypt解析token @GetMapping("/parseToken") @ApiOperation(value = "解析token") - public ResponseEntity<?> parseToken(@RequestParam String token) { + public ResponseEntity<?> parseToken(@RequestParam String token) throws JsonProcessingException { if (token == null || "".equals(token)){ return ResponseEntity.ok("token为空"); } - // 解析token,获取用户信息 - OpenCryptUtil openCryptUtil = new OpenCryptUtil(); - String decrypt = openCryptUtil.decrypt(token); - System.out.println(decrypt); - System.out.println("----------------"); + try { + OpenCryptUtil openCryptUtil = new OpenCryptUtil(); + String decrypt = openCryptUtil.decrypt(token); - // 返回用户信息 - return ResponseEntity.ok(decrypt); + // 使用 ObjectMapper 反序列化,避免手动处理转义字符 + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode root = objectMapper.readTree(decrypt); + String name = root.get("name").asText(); + + return ResponseEntity.ok(name); + } catch (Exception e) { + // 捕获所有异常,避免500错误 + return ResponseEntity.badRequest().body("解析失败: " + e.getMessage()); + } } @GetMapping("/getToken") -- Gitblit v1.7.1