The "Remember me" feature helps users stay logged in even after closing the browser. It makes returning to a website easier without typing the password again.
0
0
Remember me functionality in Flask
Introduction
When you want users to stay logged in on their personal devices.
For websites where frequent login is annoying, like social media or forums.
When you want to improve user experience by reducing login steps.
For apps that need to remember user preferences securely.
When you want to balance convenience with security by setting session duration.
Syntax
Flask
login_user(user, remember=True)login_user is a Flask-Login function to log in a user.
The remember=True argument tells Flask to keep the user logged in across browser sessions.
Examples
This logs in the user but the login ends when the browser closes.
Flask
login_user(user)
# Logs in user for current session onlyThis keeps the user logged in even after closing the browser.
Flask
login_user(user, remember=True) # Logs in user and remembers across sessions
Use this to log out and remove the remembered login.
Flask
logout_user()
# Logs out the user and clears the sessionSample Program
This Flask app lets users log in with a username and choose "Remember me". If checked, the user stays logged in after closing the browser. The protected page shows a greeting. Logout ends the session.
Flask
from flask import Flask, render_template_string, request, redirect, url_for from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user app = Flask(__name__) app.secret_key = 'secret-key' login_manager = LoginManager() login_manager.init_app(app) # Simple user class class User(UserMixin): def __init__(self, id): self.id = id # User loader callback @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': user = User(request.form['username']) remember = 'remember' in request.form login_user(user, remember=remember) return redirect(url_for('protected')) return render_template_string(''' <form method="post"> Username: <input type="text" name="username" required><br> Remember me: <input type="checkbox" name="remember"><br> <input type="submit" value="Login"> </form> ''') @app.route('/protected') @login_required def protected(): return f'Hello, {current_user.id}! You are logged in.' @app.route('/logout') @login_required def logout(): logout_user() return 'You have been logged out.' if __name__ == '__main__': app.run(debug=False)
OutputSuccess
Important Notes
Remember me uses cookies to keep users logged in securely.
Do not use "Remember me" on public or shared computers for security reasons.
Flask-Login handles the cookie creation and verification automatically.
Summary
"Remember me" keeps users logged in across browser sessions using cookies.
Use login_user(user, remember=True) to enable this feature.
Always provide a logout option to clear remembered sessions.