]> git.parisson.com Git - django-social-auth.git/commitdiff
This change moves extra_data fetch to authenticate, to ensure that it gets updated...
authorMatt Brown <matt@thataddress.com>
Sun, 16 Jan 2011 03:22:56 +0000 (22:22 -0500)
committerMatt Brown <matt@thataddress.com>
Sun, 16 Jan 2011 03:22:56 +0000 (22:22 -0500)
social_auth/backends.py

index b5f66f580bb0ad800a9f0aa29c1736f683a2ae5a..b81355f283d32890bbdf872b7d5db19648939cdc 100644 (file)
@@ -59,7 +59,17 @@ class SocialAuthBackend(ModelBackend):
         else:
             user = social_user.user
 
+        # Update the user account data.
         self.update_user_details(user, response, details, new_user=new_user)
+        
+        # Update the extra_data storage, unless disabled by setting.
+        extra_data = '' if not getattr(settings, 'SOCIAL_AUTH_EXTRA_DATA',
+                                       True) \
+                        else self.extra_data(user, uid, response, details)
+        if extra_data:
+            social_user.extra_data = extra_data
+            social_user.save()
+        
         return user
 
     def username(self, details):
@@ -94,12 +104,8 @@ class SocialAuthBackend(ModelBackend):
 
     def associate_auth(self, user, uid, response, details):
         """Associate a Social Auth with an user account."""
-        extra_data = '' if not getattr(settings, 'SOCIAL_AUTH_EXTRA_DATA',
-                                       True) \
-                        else self.extra_data(user, uid, response, details)
         return UserSocialAuth.objects.create(user=user, uid=uid,
-                                             provider=self.name,
-                                             extra_data=extra_data)
+                                             provider=self.name)
 
     def extra_data(self, user, uid, response, details):
         """Return default blank user extra data"""