Overview

Flask-Login 0.6, released on May 1, 2022, supports Flask 2.x and improves session protection.

Main Features

Flask 2.x support

Flask-Login 0.6 is compatible with Flask 2.x and its new APIs, including async view support.

python
from flask import Flask
from flask_login import LoginManager, UserMixin, login_required

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('/profile')
@login_required
def profile():
    return 'Protected page'

Session protection

Session protection is strengthened with better IP address and user-agent checks to detect session hijacking.

python
from flask import Flask
from flask_login import LoginManager

app = Flask(__name__)
app.config['SECRET_KEY'] = 'my-secret-key'

login_manager = LoginManager(app)
login_manager.session_protection = 'strong'  # or 'basic'
login_manager.login_view = 'login'

Sources