mirror of
https://github.com/Tivix/django-rest-auth.git
synced 2025-07-02 02:23:18 +03:00
Fix issue with token parsing on access_token flow
This commit is contained in:
parent
dd369bd01a
commit
533ffc0567
|
@ -73,6 +73,7 @@ class SocialLoginSerializer(serializers.Serializer):
|
||||||
|
|
||||||
adapter = adapter_class(request)
|
adapter = adapter_class(request)
|
||||||
app = adapter.get_provider().get_app(request)
|
app = adapter.get_provider().get_app(request)
|
||||||
|
token_attrs = {}
|
||||||
|
|
||||||
# More info on code vs access_token
|
# More info on code vs access_token
|
||||||
# http://stackoverflow.com/questions/8666316/facebook-oauth-2-0-code-and-token
|
# http://stackoverflow.com/questions/8666316/facebook-oauth-2-0-code-and-token
|
||||||
|
@ -80,6 +81,7 @@ class SocialLoginSerializer(serializers.Serializer):
|
||||||
# Case 1: We received the access_token
|
# Case 1: We received the access_token
|
||||||
if attrs.get('access_token'):
|
if attrs.get('access_token'):
|
||||||
access_token = attrs.get('access_token')
|
access_token = attrs.get('access_token')
|
||||||
|
token_attrs['access_token'] = access_token
|
||||||
|
|
||||||
# Case 2: We received the authorization code
|
# Case 2: We received the authorization code
|
||||||
elif attrs.get('code'):
|
elif attrs.get('code'):
|
||||||
|
@ -108,8 +110,8 @@ class SocialLoginSerializer(serializers.Serializer):
|
||||||
self.callback_url,
|
self.callback_url,
|
||||||
scope
|
scope
|
||||||
)
|
)
|
||||||
token = client.get_access_token(code)
|
token_attrs = client.get_access_token(code)
|
||||||
access_token = token['access_token']
|
access_token = token_attrs['access_token']
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise serializers.ValidationError(
|
raise serializers.ValidationError(
|
||||||
|
@ -119,7 +121,7 @@ class SocialLoginSerializer(serializers.Serializer):
|
||||||
# make another minor adjustment, not yet in all-auth.
|
# make another minor adjustment, not yet in all-auth.
|
||||||
# https://github.com/Tivix/django-rest-auth/pull/486
|
# https://github.com/Tivix/django-rest-auth/pull/486
|
||||||
# social_token = adapter.parse_token({'access_token': access_token})
|
# social_token = adapter.parse_token({'access_token': access_token})
|
||||||
social_token = adapter.parse_token(token)
|
social_token = adapter.parse_token(token_attrs)
|
||||||
social_token.app = app
|
social_token.app = app
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user