- Added RememberMe middleware
This commit is contained in:
parent
e63ea439d6
commit
d3bb2c248a
|
@ -85,8 +85,8 @@ abstract class User implements UserInterface {
|
||||||
return trim( ( $this->firstName ?? "" ) . " " . ( $this->lastName ?? "" ) );
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ use Ulmus\Entity\EntityInterface;
|
||||||
interface UserInterface extends EntityInterface
|
interface UserInterface extends EntityInterface
|
||||||
{
|
{
|
||||||
public function __toString() : string;
|
public function __toString() : string;
|
||||||
public function loggedIn() : bool;
|
public function loggedIn(?bool $set = null) : bool;
|
||||||
public function verifyPassword(string $password) : bool;
|
public function verifyPassword(string $password) : bool;
|
||||||
public function hashPassword(? string $password = null) : static;
|
public function hashPassword(? string $password = null) : static;
|
||||||
public function setPassword($password) : static;
|
public function setPassword($password) : static;
|
||||||
|
|
|
@ -133,7 +133,7 @@ class Authenticate {
|
||||||
|
|
||||||
$this->user->fromArray($entity);
|
$this->user->fromArray($entity);
|
||||||
|
|
||||||
$this->user->logged = true;
|
$this->user->loggedIn(true);
|
||||||
|
|
||||||
return $this->user;
|
return $this->user;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Ulmus\User\Middleware;
|
||||||
|
|
||||||
|
use Psr\Http\{
|
||||||
|
Message\ResponseInterface,
|
||||||
|
Message\ServerRequestInterface,
|
||||||
|
Server\MiddlewareInterface,
|
||||||
|
Server\RequestHandlerInterface
|
||||||
|
};
|
||||||
|
use Ulmus\User\Entity\UserInterface;
|
||||||
|
use Ulmus\User\Authorize\PostRequestAuthentication;
|
||||||
|
use Ulmus\User\Lib\Authenticate;
|
||||||
|
|
||||||
|
class RememberMeMiddleware implements MiddlewareInterface
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
protected UserInterface $entity,
|
||||||
|
protected Authenticate $authenticator,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
||||||
|
{
|
||||||
|
$this->authenticator->rememberMe();
|
||||||
|
|
||||||
|
return $handler->handle($request);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue