from django.utils import simplejson
-from social_auth.models import User
+from social_auth.models import resolve_user_or_id
def consumer_oauth_url_request(backend, url, user_or_id, redirect_uri='/',
json=True):
"""Builds and retrieves an OAuth signed response."""
- if isinstance(user_or_id, User):
- user = user_or_id
- else:
- user = User.objects.get(pk=user_or_id)
-
+ user = resolve_user_or_id(user_or_id)
oauth_info = user.social_auth.filter(provider=backend.AUTH_BACKEND.name)[0]
token = Token.from_string(oauth_info.tokens['access_token'])
request = build_consumer_oauth_request(backend, token, url, redirect_uri)
return User.objects.get(email=email)
+def resolve_user_or_id(user_or_id):
+ if isinstance(user_or_id, User):
+ return user_or_id
+ return User.objects.get(pk=user_or_id)
+
+
def get_social_auth_for_user(user):
return user.social_auth.all()
return User.objects.get(email=email)
+def resolve_user_or_id(user_or_id):
+ if isinstance(user_or_id, User):
+ return user_or_id
+ return User.objects.get(pk=user_or_id)
+
+
def get_social_auth_for_user(user):
return UserSocialAuth.objects(user=user)