mirror of
				https://github.com/Tivix/django-rest-auth.git
				synced 2025-11-04 01:27:36 +03:00 
			
		
		
		
	Capture OAuthError in TwitterLoginSerializer
This commit is contained in:
		
							parent
							
								
									86a487fe21
								
							
						
					
					
						commit
						0737da0077
					
				| 
						 | 
					@ -1,12 +1,12 @@
 | 
				
			||||||
from django.conf import settings
 | 
					from django.conf import settings
 | 
				
			||||||
from django.http import HttpRequest
 | 
					from django.http import HttpRequest
 | 
				
			||||||
from rest_framework import serializers
 | 
					from rest_framework import serializers
 | 
				
			||||||
from requests.exceptions import HTTPError
 | 
					 | 
				
			||||||
# Import is needed only if we are using social login, in which
 | 
					# Import is needed only if we are using social login, in which
 | 
				
			||||||
# case the allauth.socialaccount will be declared
 | 
					# case the allauth.socialaccount will be declared
 | 
				
			||||||
if 'allauth.socialaccount' in settings.INSTALLED_APPS:
 | 
					if 'allauth.socialaccount' in settings.INSTALLED_APPS:
 | 
				
			||||||
    from allauth.socialaccount.helpers import complete_social_login
 | 
					    from allauth.socialaccount.helpers import complete_social_login
 | 
				
			||||||
    from allauth.socialaccount.models import SocialToken
 | 
					    from allauth.socialaccount.models import SocialToken
 | 
				
			||||||
 | 
					    from allauth.socialaccount.providers.oauth.client import OAuthError
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TwitterLoginSerializer(serializers.Serializer):
 | 
					class TwitterLoginSerializer(serializers.Serializer):
 | 
				
			||||||
| 
						 | 
					@ -65,8 +65,8 @@ class TwitterLoginSerializer(serializers.Serializer):
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
            login = self.get_social_login(adapter, app, token, access_token)
 | 
					            login = self.get_social_login(adapter, app, token, access_token)
 | 
				
			||||||
            complete_social_login(request, login)
 | 
					            complete_social_login(request, login)
 | 
				
			||||||
        except HTTPError:
 | 
					        except OAuthError as e:
 | 
				
			||||||
            raise serializers.ValidationError('Incorrect value')
 | 
					            raise serializers.ValidationError(str(e))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not login.is_existing:
 | 
					        if not login.is_existing:
 | 
				
			||||||
            login.lookup()
 | 
					            login.lookup()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user