Spaces:
Runtime error
Runtime error
File size: 824 Bytes
ebf88d6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import jwt
import bcrypt
SECRET_KEY = "eloquence_key"
# Hash the password
def hash_password(password):
return bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt())
# Check the hashed password
def check_password(hashed_password, password):
return bcrypt.checkpw(password.encode('utf-8'), hashed_password)
# Generate JWT
def generate_token(username):
payload = {
'username': username,
}
return jwt.encode(payload, SECRET_KEY, algorithm='HS256')
# Verify JWT
def verify_token(token):
try:
decoded = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
return decoded['username'] # Return username if token is valid
except jwt.ExpiredSignatureError:
return None # Token has expired
except jwt.InvalidTokenError:
return None # Token is invalid
|