Commit 30c2b3fb by giaogiao

优化sign和token获取

parent 9369f317
package io.geekidea.springbootplus.test; package io.geekidea.springbootplus.test;
import cn.hutool.crypto.digest.MD5;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.json.JsonMapper;
import com.wecloud.im.ws.model.request.ReceiveModel; import com.wecloud.im.ws.model.request.ReceiveModel;
import org.springframework.util.DigestUtils;
import java.util.Date; import java.util.Date;
...@@ -24,7 +24,10 @@ public class SignTest { ...@@ -24,7 +24,10 @@ public class SignTest {
*/ */
private static void getSign(String timestamp, String clientId, String appKey, String appSecret) { private static void getSign(String timestamp, String clientId, String appKey, String appSecret) {
String sign = new MD5().digestHex(timestamp + clientId + appKey + appSecret); String data = timestamp + clientId + appKey + appSecret;
// String sign = new MD5().digestHex(data);
String sign = DigestUtils.md5DigestAsHex(data.getBytes());
System.out.println("timestamp:" + timestamp); System.out.println("timestamp:" + timestamp);
System.out.println("sign:" + sign); System.out.println("sign:" + sign);
......
...@@ -8,7 +8,7 @@ import io.swagger.annotations.Api; ...@@ -8,7 +8,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/signDemo") @RequestMapping("/signDemo")
@Api(value = "sign API", tags = {"获取sign(Demo)"}) @Api(value = "signAPI", tags = {"获取sign(Demo)"})
public class SignController extends BaseController { public class SignController extends BaseController {
@Autowired @Autowired
...@@ -31,9 +31,9 @@ public class SignController extends BaseController { ...@@ -31,9 +31,9 @@ public class SignController extends BaseController {
/** /**
* 根据客户方生成签名字符串 验证通过则下发token * 根据客户方生成签名字符串 验证通过则下发token
*/ */
@GetMapping("/get") @PostMapping("/get")
@ApiOperation(value = "获取sign(仅测试使用)", notes = "生成签名") @ApiOperation(value = "获取sign(仅测试使用)", notes = "生成签名测试,在生产环境中,此步骤需要第三方应用的服务端进行生成")
public String verify(@RequestBody GetSignParam getSignParam) throws Exception { public String get(@RequestBody GetSignParam getSignParam) throws Exception {
return new MD5().digestHex(getSignParam.getTimestamp() + getSignParam.getClientId() + getSignParam.getAppKey() + getSignParam.getAppSecret()); return new MD5().digestHex(getSignParam.getTimestamp() + getSignParam.getClientId() + getSignParam.getAppKey() + getSignParam.getAppSecret());
} }
......
...@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/token") @RequestMapping("/token")
@Api(value = "token API", tags = {"token相关"}) @Api(value = "token API", tags = {"申请token相关"})
public class TokenController extends BaseController { public class TokenController extends BaseController {
@Autowired @Autowired
...@@ -33,8 +33,8 @@ public class TokenController extends BaseController { ...@@ -33,8 +33,8 @@ public class TokenController extends BaseController {
* 根据客户方生成签名字符串 验证通过则下发token * 根据客户方生成签名字符串 验证通过则下发token
*/ */
@PostMapping("/verify") @PostMapping("/verify")
@ApiOperation(value = "根据sign申请token", notes = "根据客户方生成签名字符串 验证通过则下发token") @ApiOperation(value = "根据sign申请token", notes = "校验客户方生成的签名字符串,验证通过则下发token")
public ApiResult<TokenVo> verify(@RequestBody ImTokenVerify imTokenVerify) throws Exception { public ApiResult<TokenVo> verify(@RequestBody ImTokenVerify imTokenVerify) {
return imClientLoginService.verifySign(imTokenVerify); return imClientLoginService.verifySign(imTokenVerify);
} }
......
...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
/** /**
* sign * sign
* *
...@@ -12,7 +14,7 @@ import lombok.Data; ...@@ -12,7 +14,7 @@ import lombok.Data;
*/ */
@Data @Data
@ApiModel(value = "GetSignParam") @ApiModel(value = "GetSignParam")
public class GetSignParam { public class GetSignParam implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("时间戳") @ApiModelProperty("时间戳")
......
...@@ -15,13 +15,13 @@ import lombok.Data; ...@@ -15,13 +15,13 @@ import lombok.Data;
public class ImTokenVerify { public class ImTokenVerify {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("时间戳") @ApiModelProperty("时间戳,需与生成sign时的值一致")
private String timestamp; private String timestamp;
@ApiModelProperty("client客户端id") @ApiModelProperty("client客户端id,需与生成sign时的值一致")
private String clientId; private String clientId;
@ApiModelProperty("appkey") @ApiModelProperty("appkey,需与生成sign时的值一致")
private String appKey; private String appKey;
@ApiModelProperty("签名sign") @ApiModelProperty("签名sign")
......
...@@ -65,6 +65,7 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes ...@@ -65,6 +65,7 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
messageById.setWithdraw(Boolean.TRUE); messageById.setWithdraw(Boolean.TRUE);
messageById.setWithdrawTime(new Date()); messageById.setWithdrawTime(new Date());
// 清空消息
messageById.setContent("{}"); messageById.setContent("{}");
boolean b = this.updateById(messageById); boolean b = this.updateById(messageById);
...@@ -81,7 +82,7 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes ...@@ -81,7 +82,7 @@ public class ImMessageServiceImpl extends BaseServiceImpl<ImMessageMapper, ImMes
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApiResult<Boolean> updateMsgById(ImMsgUpdate imMsgUpdate) { public ApiResult<Boolean> updateMsgById(ImMsgUpdate imMsgUpdate) {
ImClient client = imClientService.getCurentClient(); // ImClient client = imClientService.getCurentClient();
/* // 判断该消息是否是该客户端发送 /* // 判断该消息是否是该客户端发送
ImMessage messageById = this.getById(imMsgUpdate.getId()); ImMessage messageById = this.getById(imMsgUpdate.getId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment