コード例 #1
0
ファイル: logout.py プロジェクト: sudan/Markit
def logout(request):
	''' Logout functionality '''
	
	auth_token = request.COOKIES.get("auth", None)
	email = request.COOKIES.get("email", None)

	try:
		if auth_token != None and email != None:
			
			redis_obj = Redis()
			old_auth_token = redis_obj.get_value("email:%s:auth.token" %(email))
			new_auth_token = get_auth_token()

			key = "email:%s:auth.token" % (email)
			redis_obj.set_value(key, new_auth_token)

			key = "auth.token:%s:email" % (new_auth_token)
			redis_obj.set_value(key, email)

			redis_obj.remove_key("auth.token:%s:email" % (old_auth_token))

			user_id = get_userId(request)
		
			key = "auth.token:%s:userId" %(new_auth_token)
			redis_obj.set_value(key, user_id)

			redis_obj.remove_key("auth.token:%s:userId" %(old_auth_token))

			key = "userId:%d:auth.token" %(user_id)
			redis_obj.set_value(key, new_auth_token)
	except:
		pass


	return HttpResponseRedirect('/')
コード例 #2
0
ファイル: login_status.py プロジェクト: sudan/Markit
def is_logged_in(cookie_email, cookie_auth_token):
	''' Helper function to check  the login status '''
	
	if cookie_auth_token == "" or cookie_email == "":
		return False

	redis_obj = Redis()
	auth_token = redis_obj.get_value("email:%s:auth.token" % (cookie_email))

	if auth_token != cookie_auth_token:
		return False

	email = redis_obj.get_value("auth.token:%s:email" % (cookie_auth_token))
	if email != cookie_email:
		return False

	return True
コード例 #3
0
ファイル: helpers.py プロジェクト: sudan/Markit
def get_userId(request):
	''' Get the user id by extracting auth token from
	 cookies which is passed in the request '''

	redis_obj = Redis()
	auth_token = request.COOKIES.get('auth', '')

	key = "auth.token:%s:userId" %(auth_token)
	return int(redis_obj.get_value(key))