diff --git a/rest_auth/registration/serializers.py b/rest_auth/registration/serializers.py index 9056164..c0b67af 100644 --- a/rest_auth/registration/serializers.py +++ b/rest_auth/registration/serializers.py @@ -63,7 +63,8 @@ class SocialLoginSerializer(serializers.Serializer): # http://stackoverflow.com/questions/8666316/facebook-oauth-2-0-code-and-token # Case 1: We received the access_token - if('access_token' in attrs): + access_token = attrs.get('access_token', None) + if(access_token is not None and len(access_token) > 0): access_token = attrs.get('access_token') # Case 2: We received the authorization code @@ -93,13 +94,12 @@ class SocialLoginSerializer(serializers.Serializer): self.callback_url, scope ) - token = client.get_access_token(code) - access_token = token['access_token'] + access_token = client.get_access_token(code) else: raise serializers.ValidationError(_('Incorrect input. access_token or code is required.')) - token = adapter.parse_token({'access_token': access_token}) + token = adapter.parse_token(access_token) token.app = app try: