From 4d4abc156325f06a1b7fb444b06a9cb0f1597554 Mon Sep 17 00:00:00 2001 From: Stas Kravets Date: Wed, 13 Jul 2011 10:12:11 +0400 Subject: [PATCH] Mail.ru cancel authentication handled properly. --- social_auth/backends/contrib/mailru.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/social_auth/backends/contrib/mailru.py b/social_auth/backends/contrib/mailru.py index 583c01a..1879997 100644 --- a/social_auth/backends/contrib/mailru.py +++ b/social_auth/backends/contrib/mailru.py @@ -55,6 +55,14 @@ class MailruOAuth2(BaseOAuth2): def get_scope(self): return MAILRU_OAUTH2_SCOPE + getattr(settings, 'MAILRU_OAUTH2_EXTRA_SCOPE', []) + def auth_complete(self, *args, **kwargs): + try: + auth_result = super(MailruOAuth2, self).auth_complete(*args, **kwargs) + except HTTPError: # Mail.ru returns HTTPError 400 if cancelled + raise ValueError('Authentication cancelled') + + return auth_result + def user_data(self, access_token): """Return user data from Mail.ru REST API""" data = {'method': 'users.getInfo', 'session_key': access_token} -- 2.39.5