示例#1
0
def authorised():

	if request.args.get('oauth_token', '') == session['oauth_token']:
		
		verifyRequestParams = {
			"oauth_consumer_key" : consumer_key,
			"oauth_nonce" : str(random.randint(1, 999999999)),
			"oauth_signature_method" : "HMAC-SHA1",
			"oauth_timestamp" : int(time.time()),
			"oauth_version" : "1.0",
			"oauth_token" : session['oauth_token']
		}

		print ("SECRET:\n" + session['oauth_secret'] + "\n")

		signVerification = helpers.sign_request(verifyRequestParams, "POST", "https://api.twitter.com/oauth/access_token", consumer_secret, session['oauth_secret'])

		verifyRequestParams["oauth_signature"] = signVerification

		verifyRequest = urllib2.Request("https://api.twitter.com/oauth/access_token", "oauth_verifier=" + request.args.get('oauth_verifier'))
		verifyRequest.add_header("Authorization", helpers.create_oauth_headers(verifyRequestParams))
		
		try:
			httpResponse = urllib2.urlopen(verifyRequest)
		except urllib.HTTPError as e:
			return e.read()

		responseData = helpers.getParameters(httpResponse.read())

		session['oauth_token'] = responseData["oauth_token"]
		session['oauth_secret'] = responseData["oauth_token_secret"]
		session['user_id'] = responseData['user_id']

	return redirect(rootURL)
示例#2
0
def authenticate():

	requestParams = {
		"oauth_callback" : rootURL + "/authorised",
		"oauth_consumer_key" : consumer_key,
		"oauth_nonce" : str(random.randint(1, 999999999)),
		"oauth_signature_method" : "HMAC-SHA1",
		"oauth_timestamp" : int(time.time()),
		"oauth_version" : "1.0"
	}

	theSig = helpers.sign_request(requestParams, "POST", "https://api.twitter.com/oauth/request_token", consumer_secret, session['oauth_secret'])

	requestParams["oauth_signature"] = theSig

	request = urllib2.Request("https://api.twitter.com/oauth/request_token", "")
	request.add_header("Authorization", helpers.create_oauth_headers(requestParams))

	try:
		httpResponse = urllib2.urlopen(request)
	except urllib.HTTPError as e:
		return e.read()

	responseData = helpers.getParameters(httpResponse.read())

	session['oauth_token'] = responseData['oauth_token']
	session['oauth_secret'] = responseData['oauth_token_secret']

	return redirect("https://api.twitter.com/oauth/authorize?oauth_token=" + session['oauth_token'])