To support persistent login module added to autologout.module

autologout_autologout_prevent() {
  $remember_me = \Drupal::service('user.data')->get('remember_me', $user->id(), 'remember_me');
    if (!empty($remember_me)) {
        return TRUE;
    }
+ 
    // If the user has checked Keep me signed in via the persistent_login module.
    if(\Drupal::hasService('persistent_login.token_manager')) {
        $request = \Drupal::request();
        // Get cooke from request
        $cookie = \Drupal::service('persistent_login.cookie_helper')->getCookieValue($request);
        if (isset($cookie)) {
            // Get all user's token
            $rememberPersistentTokens = \Drupal::service('persistent_login.token_manager')->getTokensForUser(\Drupal\user\Entity\User::load($user->id()));
            $count = count($rememberPersistentTokens);
            if ($count > 0) {
                // Get current token
                $currentToken = \Drupal::service('persistent_login.token_handler')->getTokenFromCookie($request);
                $rememberMe = false;
                foreach ($rememberPersistentTokens as $value) {
                    if (1 == $value->getStatus() && $value->getSeries() == $currentToken->getSeries()) {
                        return TRUE;
                    } else {
                        $rememberMe = false;
                    }
                }
                return $rememberMe;
            }
        }
    }
}

Comments

reuven created an issue. See original summary.

deaom’s picture

Status: Active » Needs review
StatusFileSize
new1.49 KB

Attached is the patch to support persistent login module.

ajits’s picture

Issue summary: View changes
bcizej’s picture

StatusFileSize
new1.37 KB

A little patch cleanup, removed unneeded else and return $rememberMe; statements.

if ($count > 0) {
  // Get current token
  $currentToken = \Drupal::service('persistent_login.token_handler')->getTokenFromCookie($request);
  foreach ($rememberPersistentTokens as $value) {
     if (1 == $value->getStatus() && $value->getSeries() == $currentToken->getSeries()) {
        return TRUE;
     }
   }
}
strozx’s picture

Tested the last patch and it works.

strozx’s picture

Tested the last patch and it works.

strozx’s picture

Status: Needs review » Reviewed & tested by the community

  • boshtian committed 3e067ba on 8.x-1.x authored by DeaOm
    Issue #3007408 by DeaOm, benjamincizej: Add persistent login module...
boshtian’s picture

Status: Reviewed & tested by the community » Fixed
boshtian’s picture

Status: Fixed » Closed (fixed)
avpaderno’s picture

Issue tags: -Support Persistent login