Workaround:
Adding __serialize and __unserialize functions to User make form login possible.
/**
*
* @return string
*/
public function __serialize(): array
{
return ['id' => $this->id, 'username' => $this->username, 'password' => $this->password];
}
/**
*
* @param array $data
*/
public function __unserialize(array $data): void
{
$this->id = $data['id'];
$this->username = $data['username'];
$this->password = $data['password'];
}