Example #1
0
def callback(request):
    request_token = request.GET['oauth_token']
    verifier = request.GET['oauth_verifier']
    oauth_client = OAuth1Session(_CONSUMER_KEY,
                                 client_secret=_CONSUMER_SECRET,
                                 resource_owner_key=request_token,
                                 verifier=verifier)
    access_token_url = _ACCESS_TOKEN_URL
    response = oauth_client.fetch_access_token(access_token_url)

    try:
        user = User.objects.get(twitter_id=response['user_id'])
    except User.DoesNotExist:
        user = User()
        user.twitter_id = response['user_id']
        user.oauth_token = response['oauth_token']
        user.oauth_token_secret = response['oauth_token_secret']
        user.save()

    if user.oauth_token != response['oauth_token']:
        user.oauth_token = response['oauth_token']
        user.oauth_token_secret = response['oauth_token_secret']
        user.save()

    request.session['access_token'] = response['oauth_token']

    return redirect('postermaker:poster')