diff options
author | Lance Stout <lancestout@gmail.com> | 2012-01-21 00:19:59 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2012-01-21 00:19:59 -0800 |
commit | f81fb6af4403cacddf81081cee2273b657a8aae5 (patch) | |
tree | ca9878a00f1c11f571243b8740507b7fb8fd96e9 /sleekxmpp/features | |
parent | bb0a5186d67611fa78c2e7a78746ef1edef2929c (diff) | |
download | slixmpp-f81fb6af4403cacddf81081cee2273b657a8aae5.tar.gz slixmpp-f81fb6af4403cacddf81081cee2273b657a8aae5.tar.bz2 slixmpp-f81fb6af4403cacddf81081cee2273b657a8aae5.tar.xz slixmpp-f81fb6af4403cacddf81081cee2273b657a8aae5.zip |
Require explicitly setting access_token value.
Silently substituting the password field was nice, but for mechs
that can use either the password or an access token, it makes
things very difficult. This really only affects MSN clients since
Facebook clients should already be setting the api key.
Diffstat (limited to 'sleekxmpp/features')
-rw-r--r-- | sleekxmpp/features/feature_mechanisms/mechanisms.py | 15 |
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) |