aboutsummaryrefslogtreecommitdiff
path: root/app/Models/Auth.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Models/Auth.php')
-rw-r--r--app/Models/Auth.php24
1 files changed, 18 insertions, 6 deletions
diff --git a/app/Models/Auth.php b/app/Models/Auth.php
index 0d45da6ed..fbce4c48b 100644
--- a/app/Models/Auth.php
+++ b/app/Models/Auth.php
@@ -271,7 +271,23 @@ class FreshRSS_FormAuth {
}
$credentials = @file_get_contents($token_file);
- return $credentials === false ? array() : explode("\t", $credentials, 2);
+ if ($credentials !== false && self::renewCookie($token)) {
+ return explode("\t", $credentials, 2);
+ }
+ return [];
+ }
+
+ private static function renewCookie($token) {
+ $token_file = DATA_PATH . '/tokens/' . $token . '.txt';
+ if (touch($token_file)) {
+ $conf = Minz_Configuration::get('system');
+ $limits = $conf->limits;
+ $cookie_duration = empty($limits['cookie_duration']) ? FreshRSS_Auth::DEFAULT_COOKIE_DURATION : $limits['cookie_duration'];
+ $expire = time() + $cookie_duration;
+ Minz_Session::setLongTermCookie('FreshRSS_login', $token, $expire);
+ return $token;
+ }
+ return false;
}
public static function makeCookie($username, $password_hash) {
@@ -285,11 +301,7 @@ class FreshRSS_FormAuth {
return false;
}
- $limits = $conf->limits;
- $cookie_duration = empty($limits['cookie_duration']) ? FreshRSS_Auth::DEFAULT_COOKIE_DURATION : $limits['cookie_duration'];
- $expire = time() + $cookie_duration;
- Minz_Session::setLongTermCookie('FreshRSS_login', $token, $expire);
- return $token;
+ return self::renewCookie($token);
}
public static function deleteCookie() {