summaryrefslogtreecommitdiff
path: root/sleekxmpp/thirdparty/suelta/mechanisms
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-01-06 23:31:58 -0500
committerLance Stout <lancestout@gmail.com>2012-01-06 23:31:58 -0500
commitc578ddeb1aae6fb0a9f60092b53831c1e952058d (patch)
tree362f03d62e8481a1939e6c2e5882212cac6689f4 /sleekxmpp/thirdparty/suelta/mechanisms
parent8ef7188dae21f9ddde40365cdff8e046d7b4678a (diff)
downloadslixmpp-c578ddeb1aae6fb0a9f60092b53831c1e952058d.tar.gz
slixmpp-c578ddeb1aae6fb0a9f60092b53831c1e952058d.tar.bz2
slixmpp-c578ddeb1aae6fb0a9f60092b53831c1e952058d.tar.xz
slixmpp-c578ddeb1aae6fb0a9f60092b53831c1e952058d.zip
Add support for MSN with X-MESSENGER-OAUTH2 SASL support.
NOTE: This requires already having the access token. It does NOT perform any OAuth requests.
Diffstat (limited to 'sleekxmpp/thirdparty/suelta/mechanisms')
-rw-r--r--sleekxmpp/thirdparty/suelta/mechanisms/__init__.py1
-rw-r--r--sleekxmpp/thirdparty/suelta/mechanisms/messenger_oauth2.py18
2 files changed, 19 insertions, 0 deletions
diff --git a/sleekxmpp/thirdparty/suelta/mechanisms/__init__.py b/sleekxmpp/thirdparty/suelta/mechanisms/__init__.py
index 5cb2ee3d..e115e5d5 100644
--- a/sleekxmpp/thirdparty/suelta/mechanisms/__init__.py
+++ b/sleekxmpp/thirdparty/suelta/mechanisms/__init__.py
@@ -3,3 +3,4 @@ from sleekxmpp.thirdparty.suelta.mechanisms.plain import PLAIN
from sleekxmpp.thirdparty.suelta.mechanisms.cram_md5 import CRAM_MD5
from sleekxmpp.thirdparty.suelta.mechanisms.digest_md5 import DIGEST_MD5
from sleekxmpp.thirdparty.suelta.mechanisms.scram_hmac import SCRAM_HMAC
+from sleekxmpp.thirdparty.suelta.mechanisms.messenger_oauth2 import X_MESSENGER_OAUTH2
diff --git a/sleekxmpp/thirdparty/suelta/mechanisms/messenger_oauth2.py b/sleekxmpp/thirdparty/suelta/mechanisms/messenger_oauth2.py
new file mode 100644
index 00000000..c72bc0e3
--- /dev/null
+++ b/sleekxmpp/thirdparty/suelta/mechanisms/messenger_oauth2.py
@@ -0,0 +1,18 @@
+from sleekxmpp.thirdparty.suelta.util import hash, bytes
+from sleekxmpp.thirdparty.suelta.sasl import Mechanism, register_mechanism
+from sleekxmpp.thirdparty.suelta.exceptions import SASLError, SASLCancelled
+
+
+class X_MESSENGER_OAUTH2(Mechanism):
+
+ def __init__(self, sasl, name):
+ super(X_MESSENGER_OAUTH2, self).__init__(sasl, name)
+ self.check_values(['access_token'])
+
+ def process(self, challenge=None):
+ return self.values['access_token']
+
+ def okay(self):
+ return True
+
+register_mechanism('X-MESSENGER-OAUTH2', 10, X_MESSENGER_OAUTH2, use_hashes=False)