login.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # This is only a module to make the login process faster and easier. Don't care about it unless you also wants a simple login for your app
  2. import hashlib as hl
  3. from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user
  4. def createLoginManager(app, User):
  5. # Configure login
  6. login_manager = LoginManager()
  7. login_manager.init_app(app)
  8. @login_manager.user_loader
  9. def load_user(user_id):
  10. return User.query.get(int(user_id))
  11. def loginUser(username, password, User):
  12. # Hash the username and the password
  13. #username = hl.md5(bytes(username, 'utf-8')).hexdigest()
  14. password = hl.md5(bytes(password, 'utf-8')).hexdigest()
  15. # Check if it exists
  16. user = User.query.filter_by(username=username, password=password).first_or_404()
  17. login_user(user)
  18. return True
  19. def createUser(username, password, db, User):
  20. # hash the username and the password
  21. #username = hl.md5(bytes(username, 'utf-8')).hexdigest() # Comment this is you want a clear username
  22. password = hl.md5(bytes(password, 'utf-8')).hexdigest()
  23. # Send them to db
  24. user = User(username, password)
  25. db.session.add(user)
  26. db.session.commit()
  27. # Login the user
  28. login_user(user)
  29. # return success
  30. return True
  31. def getUsername():
  32. return current_user.username
  33. # To restrict a page to a user just add @login_required
  34. # To logout just do logout_user()
  35. # To get the current username do current_user.username