| | |
| | | |
| | | 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; |
| | |
| | | //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为空"); |
| | | } |
| | |
| | | String decrypt = openCryptUtil.decrypt(token); |
| | | System.out.println(decrypt); |
| | | System.out.println("----------------"); |
| | | JSONObject jsonObject = JSONObject.parseObject(decrypt); |
| | | // 1. 去除外层多余的引号 |
| | | String jsonStr = decrypt.replaceAll("^\"|\"$", ""); |
| | | // 处理后:{"name":"ceshi"}(但实际可能仍包含转义字符) |
| | | |
| | | // 2. 处理剩余的转义字符(将 \" 转换为 ") |
| | | jsonStr = jsonStr.replace("\\\"", "\""); |
| | | |
| | | // 3. 解析 JSON |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | String name = objectMapper.readTree(jsonStr).get("name").asText(); |
| | | |
| | | // 返回用户信息 |
| | | return ResponseEntity.ok(jsonObject.get("name")); |
| | | return ResponseEntity.ok(name); |
| | | } |
| | | |
| | | @GetMapping("/getToken") |