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;
}
}
}
}
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | 3007408-4.patch | 1.37 KB | bcizej |
| #2 | autologout-add_persistent_login_support-3007408-2.patch | 1.49 KB | deaom |
Comments
Comment #2
deaom commentedAttached is the patch to support persistent login module.
Comment #3
ajitsComment #4
bcizej commentedA little patch cleanup, removed unneeded
elseandreturn $rememberMe;statements.Comment #5
strozx commentedTested the last patch and it works.
Comment #6
strozx commentedTested the last patch and it works.
Comment #7
strozx commentedComment #9
boshtian commentedComment #10
boshtian commentedComment #11
avpaderno