public function validate(): self
    {
        if (!$this->validate->structure($this->jwt->getToken())) {
            throw new ValidateException('Token is invalid.', 1);
        }

        $this->validateSignature();

        return $this;
    }