Update: Remove 1 error message
This commit is contained in:
parent
419e3c1aa9
commit
6ca1f6b13c
4 changed files with 12 additions and 43 deletions
|
|
@ -7,38 +7,31 @@ from .logs_model import Logs
|
||||||
|
|
||||||
|
|
||||||
def hash_password(salt, password):
|
def hash_password(salt, password):
|
||||||
return hashlib.pbkdf2_hmac('sha256', password.encode('utf-8'), salt, 100000)
|
return hashlib.pbkdf2_hmac('sha256', password.encode('utf-8'), salt, 100000)
|
||||||
|
|
||||||
|
|
||||||
def db_login(ip, email, password):
|
def db_login(ip, email, password):
|
||||||
user = Users.query.filter(
|
user = Users.query.filter(
|
||||||
Users.email == email
|
Users.email == email
|
||||||
).first()
|
).first()
|
||||||
if not user:
|
|
||||||
message = f'Email or password invalid'
|
# Check User and Hash Pass
|
||||||
|
if user and user.hash_pass == hash_password(user.salt, password):
|
||||||
|
message = 'User authenticated.'
|
||||||
log = Logs(
|
log = Logs(
|
||||||
date=datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
|
date=datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
|
||||||
id_user=None,
|
id_user=user.id,
|
||||||
ip=ip,
|
ip=ip,
|
||||||
table='users',
|
table='users',
|
||||||
action='login',
|
action='login',
|
||||||
message=message,
|
message=message,
|
||||||
has_succeeded=False,
|
has_succeeded=True,
|
||||||
status_code=1
|
status_code=0
|
||||||
)
|
)
|
||||||
db.session.add(log)
|
db.session.add(log)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return {'status': 1, 'message': message} # User does not exist
|
return {'status': 0, 'message': message, 'data': user.json()}
|
||||||
|
else:
|
||||||
# Check Hash Pass
|
|
||||||
salt = user.get_salt()
|
|
||||||
hash_pass = hash_password(salt, password)
|
|
||||||
|
|
||||||
user = Users.query\
|
|
||||||
.filter(Users.email == email, Users.hash_pass == hash_pass)\
|
|
||||||
.first()
|
|
||||||
|
|
||||||
if not user:
|
|
||||||
message = f'Email or password invalid'
|
message = f'Email or password invalid'
|
||||||
log = Logs(
|
log = Logs(
|
||||||
date=datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
|
date=datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
|
||||||
|
|
@ -52,22 +45,7 @@ def db_login(ip, email, password):
|
||||||
)
|
)
|
||||||
db.session.add(log)
|
db.session.add(log)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
return {'status': 2, 'message': message} # Email or password invalid
|
return {'status': 1, 'message': message} # Email or password invalid
|
||||||
else:
|
|
||||||
message = 'User authenticated.'
|
|
||||||
log = Logs(
|
|
||||||
date=datetime.now().strftime('%Y-%m-%dT%H:%M:%S'),
|
|
||||||
id_user=user.get_id(),
|
|
||||||
ip=ip,
|
|
||||||
table='users',
|
|
||||||
action='login',
|
|
||||||
message=message,
|
|
||||||
has_succeeded=True,
|
|
||||||
status_code=0
|
|
||||||
)
|
|
||||||
db.session.add(log)
|
|
||||||
db.session.commit()
|
|
||||||
return {'status': 0, 'message': message, 'data': user.json()}
|
|
||||||
|
|
||||||
|
|
||||||
def db_register(ip, email, password, is_admin):
|
def db_register(ip, email, password, is_admin):
|
||||||
|
|
@ -92,7 +70,6 @@ def db_register(ip, email, password, is_admin):
|
||||||
|
|
||||||
# Salt Hash Pass with SHA256
|
# Salt Hash Pass with SHA256
|
||||||
salt = os.urandom(32)
|
salt = os.urandom(32)
|
||||||
print('salt: ', salt)
|
|
||||||
hash_pass = hash_password(salt, password)
|
hash_pass = hash_password(salt, password)
|
||||||
|
|
||||||
user = Users(
|
user = Users(
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ def login():
|
||||||
if res['status'] == 0:
|
if res['status'] == 0:
|
||||||
return send_message(res['message'], res['data'])
|
return send_message(res['message'], res['data'])
|
||||||
elif res['status'] == 1:
|
elif res['status'] == 1:
|
||||||
return send_error(500, res['message'])
|
|
||||||
elif res['status'] == 2:
|
|
||||||
return send_error(404, res['message'])
|
return send_error(404, res['message'])
|
||||||
else:
|
else:
|
||||||
return send_error(400, 'POST Request Error : Need email, password fields.')
|
return send_error(400, 'POST Request Error : Need email, password fields.')
|
||||||
|
|
|
||||||
|
|
@ -36,12 +36,6 @@ class Users(db.Model):
|
||||||
'is_admin': self.is_admin
|
'is_admin': self.is_admin
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_id(self):
|
|
||||||
return self.id
|
|
||||||
|
|
||||||
def get_salt(self):
|
|
||||||
return self.salt
|
|
||||||
|
|
||||||
def auth_token(self):
|
def auth_token(self):
|
||||||
try:
|
try:
|
||||||
time = datetime.now().strftime('%Y-%m-%dT%H:%M:%S')
|
time = datetime.now().strftime('%Y-%m-%dT%H:%M:%S')
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ class Config(object):
|
||||||
TESTING = False
|
TESTING = False
|
||||||
CSRF_ENABLED = True
|
CSRF_ENABLED = True
|
||||||
|
|
||||||
SECRET_KEY = os.environ.get('SECRET_KEY', None)
|
SECRET_KEY = os.environ.get('SECRET_KEY', 'default_secret_key')
|
||||||
FLASK_APP = os.environ.get('FLASK_APP', None)
|
FLASK_APP = os.environ.get('FLASK_APP', None)
|
||||||
FLASK_ENV = os.environ.get('FLASK_ENV', None)
|
FLASK_ENV = os.environ.get('FLASK_ENV', None)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue