コード例 #1
0
	def login(self, data):
		try:
			mongo_config = MongoConfig()
			collection = mongo_config.db()
			if(collection):
				user_obj = User()
				search_user = {'email': data['email']}
				user = collection.find(search_user)
				crypto = Crypto()
				if(user):
					if(crypto.verify_decrypted_string(data['password'], user[0]['password'])):
						user_obj.first_name = user[0]['firstName']
						#user_obj.last_name = user[0]['lastName']
						user_obj.user_id = str(user[0]['_id'])
						user_obj.token = Jwt.encode_auth_token(user_id=user[0]['_id']).decode()
						return user_obj
					else:
						return "Invalid Credentials"
				else:
					return "User not available"
			else:
				return "Unable to connect to database"
		except IndexError as IE:
			return "User not available"
		except Exception as e:
			raise e
コード例 #2
0
	def login(data):
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				login_query = "SELECT users.otp, users.user_id, users.first_name, users.last_name, users.color_theme, users.image\
				FROM users WHERE users.email LIKE %s"
				cur.execute(login_query, (data['email'], ))
				user = cur.fetchone()
				response = User()
				if(user[0]==data['otp']):
					response.email= data['email']
					response.user_id = user[1]
					response.first_name = user[2]
					response.last_name = user[3]
					response.color_theme = user[4]
					response.image = user[5]
					get_role_query = "SELECT user_role.role_id FROM user_role WHERE user_role.user_id = %s"
					cur.execute(get_role_query, (user[1],))
					response.role_id = cur.fetchone()[0]
					response.token = (Jwt.encode_auth_token(user_id=user[1], role_id=response.role_id)).decode()
					cur.close()
					conn.close()
					return response
				else:
					return False
			else:
				return False
		except Exception as e:
			raise e
コード例 #3
0
	def check_fb_user_existence(email):
		conn = None
		cur = None
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				select_query = "SELECT user_id, first_name, color_theme, image FROM users WHERE email LIKE %s AND type = %s"
				cur.execute(select_query, (email, 'fb', ));
				obj = cur.fetchone()
				response = User()
				if(obj):
					get_role = "SELECT role_id FROM user_role WHERE user_id = %s"
					cur.execute(get_role, (obj[0],));
					role = cur.fetchone()
					response.email= email
					response.user_id = obj[0]
					response.role_id = role[0]
					response.first_name = obj[1]
					response.color_theme = obj[2]
					response.image = obj[3]
					response.token = (Jwt.encode_auth_token(user_id=obj[0], role_id=response.role_id)).decode()
					cur.close()
					conn.close()
					return response
				else:
					cur.close()
					conn.close()
					return False
			else:
				return False
		except Exception as e:
			return  e
コード例 #4
0
def signup():
	data = request.json

	email = data["email"]
	password = data["password"]

	user = User(email=email, password=password)

	print(user)
	config.db.session.add(user)
	config.db.session.commit()

	return jsonify(token=user.token())
コード例 #5
0
def signup_google():
	data = request.json
	from pprint import pprint
	pprint(data)
	code = request.data
	oauth_flow = flow_from_clientsecrets('./config/client_secret_google.json', scope='')
	pprint(oauth_flow)
	oauth_flow.redirect_uri = 'http://localhost:5000'
	credentials = oauth_flow.step2_exchange(data)
	access_token = credentials.access_token
	url = ('https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=%s'% access_token)

	print("access_token ->",access_token)
	print("url ->",url)
	result = json.loads(requests.get(url).text)

	pprint(result)

	email = result['email']
	password = result['user_id']

	user = User(email=email, password=password)

	print(user)
	config.db.session.add(user)
	config.db.session.commit()

	return {"token":user.token()}, 200


	# flow = OAuth2WebServerFlow(client_id=client_secret_google['web']['client_id'],
 #                           client_secret=client_secret_google['web']['client_secret'],
 #                           scope='',
 #                           redirect_uri='http://localhost:5000')
	# credentials = flow.step2_exchange(code)


	# try:
	# 	# Upgrade the authorization code into a credentials object
	# 	oauth_flow = flow_from_clientsecrets('./config/client_secret_google.json', scope='')
	# 	pprint(oauth_flow)
	# 	oauth_flow.redirect_uri = 'postmessage'
	# 	credentials = oauth_flow.step2_exchange(code)
	# except FlowExchangeError:
	# 	return {"eoro":"er"}, 400




	return {}, 200