Skip to content

Commit

Permalink
the shared connection object was causing problems during request/acce…
Browse files Browse the repository at this point in the history
…ss token exchange. additionally oauth_verifier is not a required param for request/access token exchange.
  • Loading branch information
abunsen committed Mar 19, 2011
1 parent 387c1f8 commit abaae47
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
11 changes: 8 additions & 3 deletions twitter_app/utils.py
Expand Up @@ -52,12 +52,17 @@ def get_authorisation_url(consumer, token, signature_method=signature_method):
oauth_request.sign_request(signature_method, consumer, token)
return oauth_request.to_url()

def exchange_request_token_for_access_token(consumer, connection, request_token, signature_method=signature_method):
def get_oauth_url(oauth_request):
url = oauth_request.to_url()
package = urllib.urlopen(url)
return package.read()

def exchange_request_token_for_access_token(consumer, request_token, signature_method=signature_method, params={}):
oauth_request = oauth.OAuthRequest.from_consumer_and_token(
consumer, token=request_token, http_url=ACCESS_TOKEN_URL
consumer, token=request_token, http_url=ACCESS_TOKEN_URL, parameters=params
)
oauth_request.sign_request(signature_method, consumer, request_token)
resp = fetch_response(oauth_request, connection)
resp = get_oauth_url(oauth_request)
return oauth.OAuthToken.from_string(resp)

def is_authenticated(consumer, connection, access_token):
Expand Down
3 changes: 2 additions & 1 deletion twitter_app/views.py
Expand Up @@ -48,7 +48,8 @@ def return_(request):
token = oauth.OAuthToken.from_string(unauthed_token)
if token.key != request.GET.get('oauth_token', 'no-token'):
return HttpResponse("Something went wrong! Tokens do not match")
access_token = exchange_request_token_for_access_token(CONSUMER, CONNECTION, token)
verifier = request.GET.get('oauth_verifier')
access_token = exchange_request_token_for_access_token(CONSUMER, token, params={'oauth_verifier':verifier})
response = HttpResponseRedirect(reverse('twitter_oauth_friend_list'))
request.session['access_token'] = access_token.to_string()
return response
Expand Down

0 comments on commit abaae47

Please sign in to comment.