from flask import Flask, render_template from flask_login import LoginManager, current_user, login_required app = Flask(__name__) login_manager = LoginManager(app) @login_manager.refresh_view def refresh_view(): return render_template('login.html') @app.route('/') @login_required def index(): return "Welcome, " + current_user.username
from flask import Flask, request, Response from flask_login import LoginManager, UserMixin, login_user app = Flask(__name__) login_manager = LoginManager(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['POST']) def login(): user_id = request.form['user_id'] user = User(user_id) login_user(user) return Response('Logged in successfully') @login_manager.refresh_view def refresh_view(): return Response('Session has expired', status=401) @app.route('/protected') @login_required def protected(): return "This page is protected"In this example, we define a simple Flask application with a login route that creates a new user and logs them in. We use the @login_manager.user_loader decorator to load the User object into the session, and @login_manager.refresh_view to specify that a 401 Unauthorized response should be returned when the session is refreshed. We also define a protected route that requires authentication to access. Package Library: Flask-Login