Changeset - 4f038ef95fe0
[Not reviewed]
0 2 0
Jan Kaluza - 10 years ago 2016-01-07 20:00:50
jkaluza@redhat.com
Slack: Fix OAuth2 flow
2 files changed with 11 insertions and 19 deletions:
0 comments (0 inline, 0 general)
libtransport/UserRegistration.cpp
Show inline comments
 
@@ -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);
spectrum/src/frontends/slack/SlackUserRegistration.cpp
Show inline comments
 
@@ -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.id = 0;
 
	m_storageBackend->getUser(domain, user);
 

	
 
	user.jid = domain;
 
	user.language = "en";
 
	user.encoding = token; // Use encoding as a token handler... it's BAD, but easy...
 
	user.encoding = "";
 
	user.vip = 0;
 
	user.id = 0;
 
	registerUser(user);
 

	
 
	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);
 

	
0 comments (0 inline, 0 general)