summaryrefslogtreecommitdiff
path: root/controllers/controllers.php
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2025-02-23 17:01:01 -0800
committerJesse Morgan <jesse@jesterpm.net>2025-02-23 17:01:01 -0800
commitd347e8286bae38b3949f6e0f58d8ab8632cd9c0e (patch)
tree92975f797793f7a1da379cd6274da23cea29bc4a /controllers/controllers.php
parent8ecaed3d2f5a19bf1a5c4cb077658e1bd3bc8438 (diff)
Track token expirationreauthorize
Force reauthentication after the token expires.
Diffstat (limited to 'controllers/controllers.php')
-rw-r--r--controllers/controllers.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/controllers/controllers.php b/controllers/controllers.php
index 153c9e2..de497c9 100644
--- a/controllers/controllers.php
+++ b/controllers/controllers.php
@@ -30,7 +30,17 @@ function require_login(&$app, $redirect=true) {
$app->redirect('/', 302);
return false;
} else {
- return ORM::for_table('users')->find_one($_SESSION['user_id']);
+ $user = ORM::for_table('users')->find_one($_SESSION['user_id']);
+ if(isset($user->micropub_token_expiration)) {
+ $now = new DateTime();
+ $expiration = new DateTime($user->micropub_token_expiration);
+ if($now > $expiration) {
+ header('X-Error: TokenExpired');
+ $app->redirect('/auth/start?'.http_build_query(array('me' => $user->url)), 302);
+ return false;
+ }
+ }
+ return $user;
}
}