Commit 30c2b3fb by giaogiao

优化sign和token获取

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