]> git.parisson.com Git - django-social-auth.git/commitdiff
Mail.ru cancel authentication handled properly.
authorStas Kravets <skravets@applebough.(none)>
Wed, 13 Jul 2011 06:12:11 +0000 (10:12 +0400)
committerStas Kravets <skravets@applebough.(none)>
Wed, 13 Jul 2011 06:12:11 +0000 (10:12 +0400)
social_auth/backends/contrib/mailru.py

index 583c01aad098b02f0f0e0e0adeffad8ff454fdd4..1879997551266ad159181fb199cac41f6e2a8d9a 100644 (file)
@@ -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}