From 9e8c3646428e66477f6d137e430752d3b28ddeca Mon Sep 17 00:00:00 2001 From: heavyrain2012 Date: Tue, 16 Nov 2021 16:49:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=99=A8=E4=BA=BA=E4=B8=8D=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E8=8E=B7=E5=8F=96token=E5=92=8C=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/moquette/imhandler/GetTokenHandler.java | 6 ++++++ common/src/main/java/cn/wildfirechat/common/ErrorCode.java | 1 + 2 files changed, 7 insertions(+) diff --git a/broker/src/main/java/io/moquette/imhandler/GetTokenHandler.java b/broker/src/main/java/io/moquette/imhandler/GetTokenHandler.java index b0f942b8..2a555035 100644 --- a/broker/src/main/java/io/moquette/imhandler/GetTokenHandler.java +++ b/broker/src/main/java/io/moquette/imhandler/GetTokenHandler.java @@ -9,6 +9,7 @@ package io.moquette.imhandler; import cn.wildfirechat.proto.WFCMessage; +import com.xiaoleilu.hutool.system.UserInfo; import io.moquette.persistence.MemorySessionStore; import io.moquette.spi.impl.Qos1PublishHandler; import io.moquette.spi.impl.security.TokenAuthenticator; @@ -21,6 +22,11 @@ public class GetTokenHandler extends IMHandler { @Override public ErrorCode action(ByteBuf ackPayload, String clientID, String fromUser, boolean isAdmin, WFCMessage.GetTokenRequest request, Qos1PublishHandler.IMCallback callback) { MemorySessionStore.Session session = m_sessionsStore.updateOrCreateUserSession(fromUser, clientID, request.getPlatform()); + WFCMessage.User userInfo = m_messagesStore.getUserInfo(fromUser); + if(userInfo != null && userInfo.getType() == 1) { + return ErrorCode.ERROR_CODE_ROBOT_NO_TOKEN; + } + TokenAuthenticator authenticator = new TokenAuthenticator(); String strToken = authenticator.generateToken(fromUser); String result = strToken + "|" + session.getSecret() + "|" + session.getDbSecret(); diff --git a/common/src/main/java/cn/wildfirechat/common/ErrorCode.java b/common/src/main/java/cn/wildfirechat/common/ErrorCode.java index 6b0bd964..12aaa0eb 100755 --- a/common/src/main/java/cn/wildfirechat/common/ErrorCode.java +++ b/common/src/main/java/cn/wildfirechat/common/ErrorCode.java @@ -43,6 +43,7 @@ public enum ErrorCode { ERROR_CODE_ALREADY_FRIENDS(23, "already friends"), ERROR_CODE_RECALL_TIME_EXPIRED(24, "time expired"), + ERROR_CODE_ROBOT_NO_TOKEN(25, "robot no token"), ERROR_CODE_CONFERENCE_ROOM_NOT_EXIST(60, "conference room not exist"), ERROR_CODE_USER_NOT_PREPARED(238, "user not prepared"),