You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 line
896B

  1. import flask_login
  2. from modules.core.core import cbpi, addon
  3. class User(flask_login.UserMixin):
  4. pass
  5. @addon.core.initializer(order=0)
  6. def log(cbpi):
  7. cbpi._login_manager = flask_login.LoginManager()
  8. cbpi._login_manager.init_app(cbpi._app)
  9. @cbpi._app.route('/login', methods=['GET', 'POST'])
  10. def login():
  11. user = User()
  12. user.id = "manuel"
  13. flask_login.login_user(user)
  14. return "OK"
  15. @cbpi._app.route('/logout')
  16. def logout():
  17. flask_login.logout_user()
  18. return 'Logged out'
  19. @cbpi._login_manager.user_loader
  20. def user_loader(email):
  21. if email not in cbpi.cache["users"]:
  22. return
  23. user = User()
  24. user.id = email
  25. return user
  26. @cbpi._login_manager.unauthorized_handler
  27. def unauthorized_handler():
  28. return 'Unauthorized :-('