summaryrefslogtreecommitdiff
path: root/sleekxmpp/features/feature_mechanisms/mechanisms.py
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/features/feature_mechanisms/mechanisms.py')
-rw-r--r--sleekxmpp/features/feature_mechanisms/mechanisms.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/sleekxmpp/features/feature_mechanisms/mechanisms.py b/sleekxmpp/features/feature_mechanisms/mechanisms.py
index 48a5de1c..5df1ea63 100644
--- a/sleekxmpp/features/feature_mechanisms/mechanisms.py
+++ b/sleekxmpp/features/feature_mechanisms/mechanisms.py
@@ -36,18 +36,17 @@ class feature_mechanisms(base_plugin):
return 'starttls' in self.xmpp.features
def basic_callback(mech, values):
+ creds = self.xmpp.credentials
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]
+ values['password'] = creds['password']
+ elif value == 'email':
+ jid = self.xmpp.boundjid.bare
+ values['email'] = creds.get('email', jid)
+ elif value in creds:
+ values[value] = creds[value]
mech.fulfill(values)
sasl_callback = self.config.get('sasl_callback', None)