diff --git a/src/Entity/User.php b/src/Entity/User.php index 4f6d0fa..e5c87c1 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -85,8 +85,8 @@ abstract class User implements UserInterface { return trim( ( $this->firstName ?? "" ) . " " . ( $this->lastName ?? "" ) ); } - public function loggedIn(): bool + public function loggedIn(?bool $set = null): bool { - return $this->logged; + return $set !== null ? $this->logged = $set : $this->logged; } } diff --git a/src/Entity/UserInterface.php b/src/Entity/UserInterface.php index 8ba1621..9ae9030 100644 --- a/src/Entity/UserInterface.php +++ b/src/Entity/UserInterface.php @@ -7,7 +7,7 @@ use Ulmus\Entity\EntityInterface; interface UserInterface extends EntityInterface { public function __toString() : string; - public function loggedIn() : bool; + public function loggedIn(?bool $set = null) : bool; public function verifyPassword(string $password) : bool; public function hashPassword(? string $password = null) : static; public function setPassword($password) : static; diff --git a/src/Lib/Authenticate.php b/src/Lib/Authenticate.php index b114a63..2692bd3 100644 --- a/src/Lib/Authenticate.php +++ b/src/Lib/Authenticate.php @@ -133,7 +133,7 @@ class Authenticate { $this->user->fromArray($entity); - $this->user->logged = true; + $this->user->loggedIn(true); return $this->user; } diff --git a/src/Middleware/RememberMeMiddleware.php b/src/Middleware/RememberMeMiddleware.php new file mode 100644 index 0000000..28eb0a6 --- /dev/null +++ b/src/Middleware/RememberMeMiddleware.php @@ -0,0 +1,28 @@ +authenticator->rememberMe(); + + return $handler->handle($request); + } +}