Slack: Fix OAuth2 flow
This commit is contained in:
parent
8df5cd7d1b
commit
4f038ef95f
2 changed files with 12 additions and 20 deletions
|
@ -51,7 +51,7 @@ bool UserRegistration::registerUser(const UserInfo &row, bool allowPasswordChang
|
|||
UserInfo dummy;
|
||||
bool registered = m_storageBackend->getUser(row.jid, dummy);
|
||||
|
||||
if (registered && !allowPasswordChange) {
|
||||
if (!registered || (registered && allowPasswordChange)) {
|
||||
m_storageBackend->setUser(row);
|
||||
doUserRegistration(row);
|
||||
onUserRegistered(row);
|
||||
|
|
|
@ -132,31 +132,23 @@ std::string SlackUserRegistration::handleOAuth2Code(const std::string &code, con
|
|||
}
|
||||
|
||||
UserInfo user;
|
||||
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";
|
||||
user.encoding = token; // Use encoding as a token handler... it's BAD, but easy...
|
||||
user.vip = 0;
|
||||
user.id = 0;
|
||||
registerUser(user);
|
||||
m_storageBackend->getUser(domain, user);
|
||||
|
||||
user.jid = domain;
|
||||
user.language = "en";
|
||||
user.encoding = "";
|
||||
user.vip = 0;
|
||||
|
||||
registerUser(user, true);
|
||||
|
||||
m_storageBackend->getUser(user.jid, user);
|
||||
|
||||
if (oauth2) {
|
||||
std::string value = data[2];
|
||||
int type = (int) TYPE_STRING;
|
||||
m_storageBackend->getUserSetting(user.id, "bot_token", type, value);
|
||||
}
|
||||
else {
|
||||
std::string value = token;
|
||||
int type = (int) TYPE_STRING;
|
||||
m_storageBackend->getUserSetting(user.id, "bot_token", type, value);
|
||||
}
|
||||
std::string value = token;
|
||||
int type = (int) TYPE_STRING;
|
||||
m_storageBackend->getUserSetting(user.id, "bot_token", type, value);
|
||||
|
||||
LOG4CXX_INFO(logger, "Registered Slack user " << user.jid);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue