· 7 years ago · Jul 02, 2018, 08:52 PM
1from django.http import HttpResponse
2from oauth_provider.utils import get_oauth_request, verify_oauth_request
3from oauth_provider.store import store, InvalidConsumerError, InvalidTokenError
4import oauth2
5try: from functools import wraps
6except ImportError: from django.utils.functional import wraps # Python 2.4 fallback
7
8def oauth_required(func):
9 def _checkLogin(request):
10 try:
11
12 oauth_request = get_oauth_request(request)
13 consumer = store.get_consumer(request, oauth_request, oauth_request['oauth_consumer_key'])
14
15 if ('oauth_token' in oauth_request):
16 access_token = store.get_access_token(request, oauth_request, consumer, oauth_request[u'oauth_token'])
17 user = store.get_user_for_access_token(request, oauth_request, access_token)
18 print "U: ", user
19 else:
20 print "2-legged"
21
22 verify_oauth_request(request, oauth_request, consumer)
23
24 return func(request)
25 except Exception as ex:
26 return HttpResponse("API ERROR")
27
28 return wraps(func)(_checkLogin)