diff --git a/src/Entity/User.php b/src/Entity/User.php index e2f46105e..fd3b8c239 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -247,16 +247,26 @@ public function eraseCredentials(): void */ public function serialize(): string { - return serialize([$this->id, $this->username, $this->password]); + return serialize($this->__serialize()); + } + + public function __serialize(): array + { + return [$this->id, $this->username, $this->password]; } /** * {@inheritdoc} */ public function unserialize($serialized): void + { + $this->__unserialize(unserialize($serialized, ['allowed_classes' => false])); + } + + public function __unserialize(array $data): void { // add $this->salt too if you don't use Bcrypt or Argon2i - [$this->id, $this->username, $this->password] = unserialize($serialized, ['allowed_classes' => false]); + [$this->id, $this->username, $this->password] = $data; } public function getLastseenAt(): ?\DateTimeInterface