0
0
Flaskframework~20 mins

Remember me functionality in Flask - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Remember Me Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What happens when 'remember me' is enabled in Flask-Login?
In a Flask app using Flask-Login, if a user logs in with the 'remember me' option checked, what is the expected behavior on the next visit after closing the browser?
AThe user stays logged in even after closing and reopening the browser.
BThe user is logged out immediately after closing the browser.
CThe user session expires after 5 minutes regardless of activity.
DThe user must log in again every time they refresh the page.
Attempts:
2 left
💡 Hint
Think about how cookies work with 'remember me' in web apps.
📝 Syntax
intermediate
2:00remaining
Correct way to implement 'remember me' in Flask-Login login_user call
Which of the following is the correct way to call login_user() with 'remember me' enabled in Flask-Login?
Flask
from flask_login import login_user

# user is a valid user object

# Which call is correct?
Alogin_user(user, remember='true')
Blogin_user(user, remember='yes')
Clogin_user(user, remember=1)
Dlogin_user(user, remember=True)
Attempts:
2 left
💡 Hint
Check the expected type of the 'remember' parameter in login_user.
🔧 Debug
advanced
2:00remaining
Why does 'remember me' not persist after browser restart?
A developer uses Flask-Login with 'remember me' enabled, but after closing and reopening the browser, the user is logged out. What is the most likely cause?
Flask
login_user(user, remember=True)

# Flask app config:
app.config['REMEMBER_COOKIE_DURATION'] = timedelta(days=7)

# User complains they must log in again after closing browser.
AThe browser is set to clear cookies on exit, removing the remember cookie.
BThe REMEMBER_COOKIE_DURATION is too short and expires immediately.
CThe user object does not have an 'is_authenticated' property.
DFlask-Login does not support 'remember me' functionality.
Attempts:
2 left
💡 Hint
Think about what controls cookie persistence in browsers.
🧠 Conceptual
advanced
2:00remaining
Security risk of 'remember me' feature in Flask apps
What is a common security risk when implementing 'remember me' functionality in Flask applications?
AThe 'remember me' feature disables HTTPS encryption.
BIt causes the server to store user passwords in plain text.
CIf the remember cookie is stolen, an attacker can access the user's account without logging in.
DIt automatically grants admin privileges to remembered users.
Attempts:
2 left
💡 Hint
Consider what happens if someone else gets the cookie stored on your device.
state_output
expert
2:00remaining
What is the value of current_user.is_authenticated after browser restart with 'remember me'?
Given this Flask-Login setup with 'remember me' enabled, what will be the value of current_user.is_authenticated after the user closes and reopens the browser?
Flask
from flask_login import LoginManager, current_user, login_user
from flask import Flask
from datetime import timedelta

app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager(app)

class User:
    def __init__(self, id):
        self.id = id
    @property
    def is_authenticated(self):
        return True

@login_manager.user_loader
def load_user(user_id):
    return User(user_id)

# User logs in with remember=True
user = User('123')
login_user(user, remember=True)

# Browser is closed and reopened

# What is current_user.is_authenticated?
ANone
BTrue
CFalse
DRaises AttributeError
Attempts:
2 left
💡 Hint
Check how is_authenticated is defined in the User class.