package com.zsElectric.boot.auth.controller; import com.google.gson.Gson; import com.zsElectric.boot.common.constant.ConnectivityConstants; import com.zsElectric.boot.common.util.AESCryptoUtils; import com.zsElectric.boot.common.util.HmacMD5Util; import com.zsElectric.boot.common.util.electric.RequestParmsEntity; import com.zsElectric.boot.common.util.electric.RequestParmsEntitys; import com.zsElectric.boot.common.util.electric.ResponseParmsEntity; import com.zsElectric.boot.common.util.electric.queryToken.*; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/third-party") public class ThirdPartyAuthController { @PostMapping("/v1/get") @TokenRequired public String get() { return "get"; } @PostMapping("/query_token") public ResponseParmsEntity getToken(@RequestBody RequestParmsEntitys request) throws Exception { //todo 验证签名 if (!HmacMD5Util.verify(request.getOperatorID() + request.getData() + request.getTimeStamp() + request.getSeq(), ConnectivityConstants.SIG_SECRET, request.getSig())) { return new ResponseParmsEntity() .setRet(0) .setMsg("签名验证失败") .setData("") .setSig(""); } String data = request.getData(); String string = AESCryptoUtils.decrypt(data, ConnectivityConstants.DATA_SECRET, ConnectivityConstants.DATA_SECRET_IV); QueryTokenRequestParms queryTokenRequestParms = new Gson().fromJson(string, QueryTokenRequestParms.class); return null; } } // @GetMapping("/token/validate") // public ResponseEntity validateToken(@RequestHeader("Authorization") String authHeader) { // if (authHeader == null || !authHeader.startsWith("Bearer ")) { // return ResponseEntity.badRequest() // .body(ErrorResponse.badRequest("Authorization header格式不正确")); // } // // String token = authHeader.substring(7); // boolean isValid = jwtUtil.validateToken(token); // // if (!isValid) { // return ResponseEntity.status(HttpStatus.UNAUTHORIZED) // .body(ErrorResponse.unauthorized("Token无效或已过期")); // } // // String operatorId = jwtUtil.getOperatorIdFromToken(token); // Long remainingTTL = jwtUtil.getRemainingTTL(token); // // Map result = new HashMap<>(); // result.put("valid", true); // result.put("operatorId", operatorId); // result.put("remainingTTL", remainingTTL); // // return null; // }