Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
30c2b3fb
Commit
30c2b3fb
authored
Oct 12, 2021
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化sign和token获取
parent
9369f317
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
21 additions
and
15 deletions
+21
-15
bootstrap/src/test/java/io/geekidea/springbootplus/test/SignTest.java
+5
-2
common/src/main/java/com/wecloud/im/controller/SignController.java
+5
-5
common/src/main/java/com/wecloud/im/controller/TokenController.java
+3
-3
common/src/main/java/com/wecloud/im/param/GetSignParam.java
+3
-1
common/src/main/java/com/wecloud/im/param/ImTokenVerify.java
+3
-3
common/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
+2
-1
No files found.
bootstrap/src/test/java/io/geekidea/springbootplus/test/SignTest.java
View file @
30c2b3fb
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
);
...
...
common/src/main/java/com/wecloud/im/controller/SignController.java
View file @
30c2b3fb
...
@@ -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.
Ge
tMapping
;
import
org.springframework.web.bind.annotation.
Pos
tMapping
;
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
*/
*/
@
Ge
tMapping
(
"/get"
)
@
Pos
tMapping
(
"/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
());
}
}
...
...
common/src/main/java/com/wecloud/im/controller/TokenController.java
View file @
30c2b3fb
...
@@ -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
);
}
}
...
...
common/src/main/java/com/wecloud/im/param/GetSignParam.java
View file @
30c2b3fb
...
@@ -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
(
"时间戳"
)
...
...
common/src/main/java/com/wecloud/im/param/ImTokenVerify.java
View file @
30c2b3fb
...
@@ -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"
)
...
...
common/src/main/java/com/wecloud/im/service/impl/ImMessageServiceImpl.java
View file @
30c2b3fb
...
@@ -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());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment