From 0d2125e737d28c8cf8aad0fd80b72179b8e7b914 Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Fri, 20 Jan 2012 01:08:25 -0800 Subject: Add an extra config dict to store SASL credentials. We'll need extra things beyond just a password, such as api_key. --- sleekxmpp/features/feature_mechanisms/mechanisms.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'sleekxmpp/features/feature_mechanisms/mechanisms.py') diff --git a/sleekxmpp/features/feature_mechanisms/mechanisms.py b/sleekxmpp/features/feature_mechanisms/mechanisms.py index deff5d30..1148f06a 100644 --- a/sleekxmpp/features/feature_mechanisms/mechanisms.py +++ b/sleekxmpp/features/feature_mechanisms/mechanisms.py @@ -35,12 +35,18 @@ class feature_mechanisms(base_plugin): return 'starttls' in self.xmpp.features def basic_callback(mech, values): - if 'username' in values: - values['username'] = self.xmpp.boundjid.user - if 'password' in values: - values['password'] = self.xmpp.password - if 'access_token' in values: - values['access_token'] = self.xmpp.password + for value in values: + if value == 'username': + values['username'] = self.xmpp.boundjid.user + elif value == 'password': + values['password'] = self.xmpp.credentials['password'] + elif value == 'access_token': + if 'access_token' in self.xmpp.credentials: + values['access_token'] = self.xmpp.credentials['access_token'] + else: + values['access_token'] = self.xmpp.credentials['password'] + elif value in self.xmpp.credentials: + values[value] = self.xmpp.credentials[value] mech.fulfill(values) sasl_callback = self.config.get('sasl_callback', None) -- cgit v1.2.3