客户端连接时检查是否跟获取token的平台一致
This commit is contained in:
@@ -40,6 +40,11 @@ public class RouteHandler extends IMHandler<WFCMessage.RouteRequest> {
|
||||
return ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH;
|
||||
}
|
||||
|
||||
if(request.getPlatform() != session.getPlatform() && m_messagesStore.existSignatures()) {
|
||||
LOG.error("Session <{}, {}> platform is {} mismatch the request {}", session.getUsername(), session.getClientID(), session.getPlatform(), request.getPlatform());
|
||||
return ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH;
|
||||
}
|
||||
|
||||
String serverIp = mServer.getServerIp();
|
||||
String longPort = mServer.getLongPort();
|
||||
String shortPort = mServer.getShortPort();
|
||||
|
||||
@@ -4356,6 +4356,10 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
|
||||
@Override
|
||||
public boolean checkSignature(String signature) {
|
||||
if(mClientSignatureSet.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(StringUtil.isNullOrEmptyAfterTrim(signature)) {
|
||||
if(mRejectEmptySignature) {
|
||||
LOG.info("Failed check signature, no signature");
|
||||
@@ -4373,6 +4377,11 @@ public class MemoryMessagesStore implements IMessagesStore {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean existSignatures() {
|
||||
return !mClientSignatureSet.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storeRetained(Topic topic, StoredMessage storedMessage) {
|
||||
LOG.debug("Store retained message for topic={}, CId={}", topic, storedMessage.getClientID());
|
||||
|
||||
@@ -251,6 +251,7 @@ public interface IMessagesStore {
|
||||
String getShortUUID();
|
||||
|
||||
boolean checkSignature(String signature);
|
||||
boolean existSignatures();
|
||||
/**
|
||||
* Used to initialize all persistent store structures
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user