From c578ddeb1aae6fb0a9f60092b53831c1e952058d Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Fri, 6 Jan 2012 23:31:58 -0500 Subject: 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. --- sleekxmpp/thirdparty/suelta/mechanisms/__init__.py | 1 + .../thirdparty/suelta/mechanisms/messenger_oauth2.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 sleekxmpp/thirdparty/suelta/mechanisms/messenger_oauth2.py (limited to 'sleekxmpp/thirdparty/suelta') 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) -- cgit v1.2.3