Прежде чем ответить на этот вопрос, я хотел бы обратить ваше внимание на то, что вы можете сделать перекрестный источник xhr из своих скриптов контента начиная с Chrome 13, если вы заявили правильные разрешения . Вот выдержка из страницы
Примечание о версии: Начиная с Chrome 13, скрипты содержимого могут отправлять запросы из разных источников на те же серверы, что и остальная часть расширения. До Chrome 13 контентный скрипт не мог напрямую делать запросы; вместо этого он должен был отправить сообщение своему родительскому расширению с просьбой, чтобы расширение сделало запрос между источниками.
Подойду к делу. Вам просто нужно сделать XmlHttpRequest для вашего домена из вашего расширения (контентный скрипт или фоновую страницу) и дождаться ответа.
На сервере
Прочитайте запрос и сессионный cookie. Если сеанс действителен, отправьте правильный ответ, иначе отправьте код ошибки. 401
или что-нибудь еще.
У клиента
Если ответ правильный, отобразите его, в противном случае отобразите ссылку для входа, ведущую на страницу входа на вашем веб-сайте.
Как это работает:
Будет работать, если в браузере пользователя включены файлы cookie. Каждый раз, когда пользователь входит на ваш веб-сайт, ваш сервер устанавливает файл cookie сеанса, который находится в браузере пользователя. Теперь при каждом запросе, который браузер отправляет на ваш домен, передается этот cookie. Этот файл cookie будет передаваться, даже если запрос поступил от расширения Google Chrome.
Протест
Убедитесь, что вы отображаете правильные подсказки для пользователя, указывающие, что они вошли в ваше приложение. Поскольку ваш пользовательский интерфейс будет в основном находиться внутри расширения, возможно, что пользователь может не знать о своем действительном сеансе с вашим веб-сайтом, и он может оставить активный сеанс без присмотра, который может быть нарушен, если пользователь обращается к нему из общедоступного интернет-киоска.
Ссылка
Вы можете взглянуть на аналогичную реализацию, которую я сделал с моим расширением здесь .