Skip to content

Commit 644f86e

Browse files
committed
Explore storing user as non object.
1 parent 7486f10 commit 644f86e

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Authenticator/SessionAuthenticator.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@
1515
*/
1616
namespace Authentication\Authenticator;
1717

18+
use App\Model\Entity\User;
1819
use ArrayAccess;
1920
use ArrayObject;
2021
use Authentication\Identifier\AbstractIdentifier;
2122
use Cake\Http\Exception\UnauthorizedException;
23+
use Cake\ORM\TableRegistry;
2224
use Psr\Http\Message\ResponseInterface;
2325
use Psr\Http\Message\ServerRequestInterface;
2426

@@ -59,6 +61,8 @@ public function authenticate(ServerRequestInterface $request): ResultInterface
5961
/** @var \Cake\Http\Session $session */
6062
$session = $request->getAttribute('session');
6163
$user = $session->read($sessionKey);
64+
$user = json_decode($user, true);
65+
$user = TableRegistry::getTableLocator()->get('Users')->newEntity($user, ['validate' => false]);
6266

6367
if (empty($user)) {
6468
return new Result(null, Result::FAILURE_IDENTITY_NOT_FOUND);
@@ -94,7 +98,8 @@ public function persistIdentity(ServerRequestInterface $request, ResponseInterfa
9498

9599
if (!$session->check($sessionKey)) {
96100
$session->renew();
97-
$session->write($sessionKey, $identity);
101+
$value = json_encode($identity);
102+
$session->write($sessionKey, $value);
98103
}
99104

100105
return [

0 commit comments

Comments
 (0)