]> git.parisson.com Git - django-social-auth.git/commitdiff
Raise error code
authorAlfredo <alfredoaguirre@theteam.co.uk>
Mon, 31 Jan 2011 11:05:36 +0000 (19:05 +0800)
committerMatías Aguirre <matiasaguirre@gmail.com>
Tue, 1 Feb 2011 02:51:27 +0000 (10:51 +0800)
social_auth/backends/facebook.py

index 5d779a6ce9b455f9291085309ed87743f2b6732c..b79a87834873a5fb17db6dafdb4e623a7a9bff4c 100644 (file)
@@ -57,22 +57,24 @@ class FacebookAuth(BaseOAuth):
                                 'client_secret': settings.FACEBOOK_API_SECRET,
                                 'code': self.data['code']})
             response = cgi.parse_qs(urllib.urlopen(url).read())
-
             access_token = response['access_token'][0]
             data = self.user_data(access_token)
             if data is not None:
                 if 'error' in data:
                     raise ValueError('Authentication error')
                 data['access_token'] = access_token
-
+                data['expires'] = response['expires'][0]
             kwargs.update({'response': data, FacebookBackend.name: True})
             return authenticate(*args, **kwargs)
         else:
-            raise ValueError('Authentication error')
+            description = self.data['error'] \
+                          if self.data.get('error') \
+                          else 'unknown_error'
+            raise ValueError(description)
 
     def user_data(self, access_token):
         """Loads user data from service"""
-        params = {'access_token': access_token}
+        params = {'access_token': access_token,}
         url = FACEBOOK_CHECK_AUTH + '?' + urllib.urlencode(params)
         try:
             return simplejson.load(urllib.urlopen(url))