Bird
Raised Fist0
Laravelframework~10 mins

Remember me functionality in Laravel - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable the 'remember me' feature in Laravel's login method.

Laravel
Auth::attempt(['email' => $email, 'password' => $password], [1]);
Drag options to blanks, or click blank then click option'
Afalse
Bnull
C'remember'
Dtrue
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of a boolean.
Omitting the second argument entirely.
2fill in blank
medium

Complete the Blade template checkbox input to allow users to select 'remember me'.

Laravel
<input type="checkbox" name="[1]" id="remember"> <label for="remember">Remember Me</label>
Drag options to blanks, or click blank then click option'
Aremember
BrememberUser
Cremember_me
Dremember_me_checkbox
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different name that Laravel does not recognize.
Forgetting to add the checkbox input.
3fill in blank
hard

Fix the error in the middleware to check if the user is authenticated with 'remember me'.

Laravel
if (Auth::[1]()) {
    // User is authenticated
}
Drag options to blanks, or click blank then click option'
AcheckRemembered
Bcheck
CviaRemember
DcheckIfRemembered
Attempts:
3 left
💡 Hint
Common Mistakes
Using check() which doesn't distinguish remember me.
Using non-existent methods like checkRemember.
4fill in blank
hard

Fill both blanks to correctly set the 'remember me' cookie duration and name in Laravel's config.

Laravel
'remember' => [
    'expire' => [1],
    'name' => '[2]',
],
Drag options to blanks, or click blank then click option'
A43200
B3600
Cremember_web
Dremember_token
Attempts:
3 left
💡 Hint
Common Mistakes
Setting expiration too short or too long.
Using incorrect cookie names like remember_token (that's the DB field).
5fill in blank
hard

Fill all three blanks to complete the login controller method that handles 'remember me' correctly.

Laravel
public function login(Request $request) {
    $credentials = $request->only('email', 'password');
    $remember = $request->has('[1]');
    if (Auth::attempt($credentials, [2])) {
        return redirect()->intended('[3]');
    }
    return back()->withErrors(['email' => 'Invalid credentials']);
}
Drag options to blanks, or click blank then click option'
Aremember
B$remember
C/dashboard
Dtrue
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong checkbox name.
Passing a string or literal instead of the $remember variable to Auth::attempt.
Redirecting to wrong URL.

Practice

(1/5)
1. What does the "Remember me" functionality do in Laravel authentication?
easy
A. Keeps users logged in across browser sessions
B. Logs users out immediately after closing the browser
C. Deletes user data after logout
D. Prevents users from logging in multiple times

Solution

  1. Step 1: Understand the purpose of "Remember me"

    It is designed to keep users logged in even after they close and reopen their browser.
  2. Step 2: Compare options with this purpose

    Only Keeps users logged in across browser sessions matches this behavior; others describe opposite or unrelated actions.
  3. Final Answer:

    Keeps users logged in across browser sessions -> Option A
  4. Quick Check:

    Remember me = Keeps login [OK]
Hint: Remember me means staying logged in after browser closes [OK]
Common Mistakes:
  • Thinking it logs users out immediately
  • Confusing it with session expiration
  • Assuming it deletes user data
2. Which is the correct way to enable "Remember me" when using Auth::attempt in Laravel?
easy
A. Auth::attempt(['email' => $email, 'password' => $password]);
B. Auth::attempt(['email' => $email, 'password' => $password], true);
C. Auth::attempt(['email' => $email, 'password' => $password], false);
D. Auth::attempt(['email' => $email, 'password' => $password], 0);

Solution

  1. Step 1: Check Auth::attempt signature

    The second parameter is a boolean to enable "Remember me"; true enables it.
  2. Step 2: Identify correct syntax

    Auth::attempt(['email' => $email, 'password' => $password], true); uses true correctly. Omitting the second parameter defaults to false and disables it. Using false explicitly disables it. Using 0 is falsy and disables it.
  3. Final Answer:

    Auth::attempt(['email' => $email, 'password' => $password], true); -> Option B
  4. Quick Check:

    Second param true enables remember me [OK]
Hint: Use true as second param in Auth::attempt for remember me [OK]
Common Mistakes:
  • Omitting the second parameter
  • Passing false instead of true
  • Using numeric 0 instead of true
3. Given this Laravel code snippet, what will be the output if the user checks "Remember me" and credentials are correct?
if (Auth::attempt(['email' => $email, 'password' => $password], true)) {
    echo 'Logged in with remember me';
} else {
    echo 'Login failed';
}
medium
A. Logged in with remember me
B. Login failed
C. Syntax error
D. User logged in but not remembered

Solution

  1. Step 1: Analyze Auth::attempt with remember true

    When credentials are correct and remember is true, Auth::attempt returns true and sets a long-lasting cookie.
  2. Step 2: Check output based on condition

    Since Auth::attempt returns true, the first echo runs, printing 'Logged in with remember me'.
  3. Final Answer:

    Logged in with remember me -> Option A
  4. Quick Check:

    Correct credentials + remember true = logged in message [OK]
Hint: Correct credentials + true = logged in with remember me [OK]
Common Mistakes:
  • Assuming remember me disables login
  • Confusing output with login failure
  • Thinking it causes syntax error
4. Identify the error in this Laravel login code that tries to enable "Remember me":
if (Auth::attempt(['email' => $email, 'password' => $password], 'true')) {
    return redirect()->intended('dashboard');
}
medium
A. Redirect method is incorrect
B. The email key should be 'user_email' instead of 'email'
C. Auth::attempt does not accept a second parameter
D. The second parameter should be boolean true, not string 'true'

Solution

  1. Step 1: Check second parameter type in Auth::attempt

    The second parameter must be boolean true or false, not a string.
  2. Step 2: Verify other parts

    Email key 'email' is correct; Auth::attempt accepts second param; redirect()->intended is valid.
  3. Final Answer:

    The second parameter should be boolean true, not string 'true' -> Option D
  4. Quick Check:

    Second param must be boolean, not string [OK]
Hint: Use true boolean, not 'true' string for remember me [OK]
Common Mistakes:
  • Passing 'true' as string instead of boolean
  • Changing email key incorrectly
  • Thinking redirect()->intended is wrong
5. You want to implement "Remember me" in a Laravel app but also ensure security by limiting the cookie duration. Which approach correctly combines remember me with a custom cookie lifetime?
hard
A. Use Auth::login with remember true and override the cookie expiration in the AuthServiceProvider
B. Use Auth::attempt with remember true and manually set cookie expiration in middleware
C. Use Auth::attempt with remember true and set 'remember' in config/session.php
D. Use Auth::attempt without remember and set session lifetime to a long time

Solution

  1. Step 1: Understand Laravel remember me and cookie lifetime

    Laravel uses the 'remember' config setting in config/session.php to control the remember me cookie lifetime.
  2. Step 2: Identify correct way to combine remember me and cookie duration

    Using Auth::attempt with remember true plus setting 'remember' in config/session.php is the standard way.
  3. Step 3: Evaluate other options

    Manual cookie setting or overriding in AuthServiceProvider is complex and not recommended; omitting remember disables feature.
  4. Final Answer:

    Use Auth::attempt with remember true and set 'remember' in config/session.php -> Option C
  5. Quick Check:

    Remember me + config cookie time = secure persistent login [OK]
Hint: Set 'remember' in config/session.php with Auth::attempt true [OK]
Common Mistakes:
  • Trying to manually set cookie expiration in code
  • Not using remember parameter in Auth::attempt
  • Confusing session lifetime with remember cookie lifetime
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard