コード例 #1
0
ファイル: views.py プロジェクト: mmalone/django-twitterauth
def callback(request):
    request_token = request.session.get(SESSION_TOKEN_KEY, None)
    if request_token is None:
        return render_to_response('callback.html', {
            'token': True
        })
    request_token = oauth.OAuthToken.from_string(request_token)
    if request_token.key != request.GET.get('oauth_token', 'no-token'):
        return render_to_response('callback.html', {
            'mismatch': True
        })
    request.user.twitter_api.token = request.user.twitter_api.get_access_token(request_token)

    # Actually login
    credentials = request.user.twitter_api.verify_credentials()
    if credentials is None:
        return render_to_response('callback.html', {
            'username': True
        })

    from twitterauth import login, authenticate
    user, created = User.objects.get_or_create(username=credentials['screen_name'])
    if created or (user.key != request.user.twitter_api.token.key or 
                   user.secret != request.user.twitter_api.token.secret):
        user.key = request.user.twitter_api.token.key
        user.secret = request.user.twitter_api.token.secret
        user.save()
    # Call authenticate to verify and add backend to the user object.
    user = authenticate(key=user.key, secret=user.secret)
    login(request, user)
    if request.session.test_cookie_worked():
        request.session.delete_test_cookie()
    del request.session[SESSION_TOKEN_KEY]

    return HttpResponseRedirect(request.session[SESSION_LOGIN_REDIRECT_KEY])
コード例 #2
0
ファイル: views.py プロジェクト: marcelcaraciolo/Tweet-Talk
def callback(request):
    request_token = request.session.get(SESSION_TOKEN_KEY, None)
    if request_token is None:
        return render_to_response('callback.html', {
            'token': True
        })
    request_token = oauth.OAuthToken.from_string(request_token)
    if request_token.key != request.GET.get('oauth_token', 'no-token') and not settings.DEBUG:
        return render_to_response('callback.html', {
            'mismatch': True
        })
    
    if not settings.DEBUG:
        request.user.twitter_api.token = request.user.twitter_api.get_access_token(request_token)
    else:
        form = PinCodeForm(request.POST)
        if form.is_valid(): 
            pin_code = "%s" % form.cleaned_data['pin_code']
            request.user.twitter_api.token = request.user.twitter_api.get_access_token(request_token, verifier=pin_code)
        else:
            return HttpResponseRedirect(reverse('auth_login'))
    
    
    # Actually login
    credentials = request.user.twitter_api.verify_credentials()
    if credentials is None:
        return render_to_response('callback.html', {
            'username': True
        })

    from twitterauth import login, authenticate
    user, created = User.objects.get_or_create(username=credentials['screen_name'])
    if created or (user.key != request.user.twitter_api.token.key or 
                   user.secret != request.user.twitter_api.token.secret):
        user.key = request.user.twitter_api.token.key
        user.secret = request.user.twitter_api.token.secret
    user.thumbnail = credentials['profile_image_url']
    user.name = credentials['name']
    user.save()
    
    # Call authenticate to verify and add backend to the user object.
    user = authenticate(key=user.key, secret=user.secret)
    #print 'vamos'
    #print 'Aqui', user
    login(request, user)
    #print 'request.user: '******'...................'
    if request.session.test_cookie_worked():
        request.session.delete_test_cookie()
    del request.session[SESSION_TOKEN_KEY]

    return HttpResponseRedirect(request.session[SESSION_LOGIN_REDIRECT_KEY])
コード例 #3
0
ファイル: views.py プロジェクト: orygens/django-twitterauth
def callback(request):
    request_token = request.session.get(SESSION_TOKEN_KEY, None)
    if request_token is None:
        return render_to_response('callback.html', {'token': True})
    request_token = oauth.OAuthToken.from_string(request_token)
    if request_token.key != request.GET.get('oauth_token',
                                            'no-token') and not settings.DEBUG:
        return render_to_response('callback.html', {'mismatch': True})
    if not settings.DEBUG:
        request.user.twitter_api.token = request.user.twitter_api.get_access_token(
            request_token)
    else:
        form = PinCodeForm(request.POST)
        if form.is_valid():
            pin_code = "%s" % form.cleaned_data['pin_code']
            request.user.twitter_api.token = request.user.twitter_api.get_access_token(
                request_token, verifier=pin_code)
        else:
            return HttpResponseRedirect(reverse('auth_login'))

    # Actually login
    credentials = request.user.twitter_api.verify_credentials()
    if credentials is None:
        return render_to_response('callback.html', {'username': True})

    from twitterauth import login, authenticate
    user, created = User.objects.get_or_create(
        username=credentials['screen_name'])
    if created or (user.key != request.user.twitter_api.token.key
                   or user.secret != request.user.twitter_api.token.secret):
        user.key = request.user.twitter_api.token.key
        user.secret = request.user.twitter_api.token.secret
    user.thumbnail = credentials['profile_image_url']
    user.name = credentials['name']
    user.followers_count = credentials['followers_count']
    user.save()

    # Call authenticate to verify and add backend to the user object.
    user = authenticate(key=user.key, secret=user.secret)
    #print 'vamos'
    #print 'Aqui', user
    login(request, user)
    #print 'request.user: '******'...................'
    if request.session.test_cookie_worked():
        request.session.delete_test_cookie()
    del request.session[SESSION_TOKEN_KEY]

    return HttpResponseRedirect(request.session[SESSION_LOGIN_REDIRECT_KEY])