Beispiel #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')
	def authenticate(self, token=None, req_token = None):
		if not token:
			return None
		if not req_token:
			return None
		token = oauth.OAuthToken.from_string(token)
		if token.key != req_token:
			return None
		token = exchange_request_token_for_access_token(CONSUMER,
			CONNECTION, token)

		# Actually login
		obj = is_authenticated(CONSUMER, CONNECTION, token)
		if obj is False:
			return None
		#try: user = User.objects.get(username=obj['screen_name'])
		#except: user = User(username=obj['screen_name'])
		#req.session['user_id'] = user.id
		#del req.session['token']
		user = User.all().filter('username = '******'screen_name']).get()
		if not user:
			user = User(key_name="usertw%s" % obj['screen_name'], username = "******" % (obj['screen_name']))
		user.oauth_token = token.key
		user.oauth_token_secret = token.secret
		user.save()
		return user