protected function readAccessToken()
    {
        if (!$this->getFileSystem()->isFile($this->getTokenFilePath())) {
            return '';
        }

        $content = trim($this->getFileSystem()->get($this->getTokenFilePath()));
        $result = json_decode($content, true);

        if (isset($result['token']) && isset($result['expire']) && isset($result['time'])) {
            $expireTime = $result['time'] + $result['expire'] - self::TOKEN_EXPIRE_SUB_TIME;
            if ($expireTime > time()) {
                return $result['token'];
            }
        }

        return '';
    }