diff --git a/spectrum/src/frontends/slack/SlackUserRegistration.cpp b/spectrum/src/frontends/slack/SlackUserRegistration.cpp index a8a9897e5bac237ec0ba8e837d4438489d5519da..b2aa4fb177d6c4db7bc2b1fd4c2617d8858e2732 100644 --- a/spectrum/src/frontends/slack/SlackUserRegistration.cpp +++ b/spectrum/src/frontends/slack/SlackUserRegistration.cpp @@ -126,8 +126,17 @@ std::string SlackUserRegistration::handleOAuth2Code(const std::string &code, con } } + std::string domain = getTeamDomain(token); + if (domain.empty()) { + return "The token you have provided is invalid"; + } + UserInfo user; - user.jid = getTeamDomain(token); + if (m_storageBackend->getUser(domain, user)) { + return "You have already registered this Spectrum 2 transport for this Slack Team"; + } + + user.jid = domain; user.uin = ""; user.password = ""; user.language = "en";