Google One Tap Sign-In
Вход через Google One Tap
Вход через Google One Tap
Модуль добавляет на витрину вход через аккаунт Google: фирменную кнопку Google в формах входа и регистрации и подсказку One Tap для гостей. Покупатель выбирает свой аккаунт Google во всплывающем окне, магазин проверяет полученный от Google токен и открывает сессию. Пароль и письмо с подтверждением не нужны.
Новые покупатели. Если учётной записи с e-mail аккаунта Google в магазине нет, она создаётся автоматически: имя и фамилия берутся из профиля Google, e-mail уже подтверждён Google. По желанию покупателю уходит стандартное письмо магазина о регистрации.
Существующие покупатели. Если e-mail уже зарегистрирован, покупатель входит в свою учётную запись, а аккаунт Google привязывается к профилю. В личном кабинете привязку видно, её можно снять или установить заново. Заказы, оформленные гостем до входа, привязываются к учётной записи.
Безопасность. Токен проверяется на сервере магазина по открытым ключам Google: подпись, издатель, срок действия, принадлежность вашему приложению и подтверждённость e-mail. Секрет приложения не нужен. Через Google входят только покупатели; учётные записи администраторов и продавцов модуль не затрагивает. Вход можно ограничить доменами e-mail.
Настройки модуля — Client ID, вид кнопки, подсказка One Tap, правила создания и привязки учётных записей, журнал отклонённых входов — задаются на странице Модули → Модули CS-Commerce → Вход через Google One Tap.
Для работы модуля нужен OAuth-клиент в Google Cloud Console (см. раздел Настройка приложения в Google Cloud) и витрина по HTTPS: подсказку One Tap Google показывает только на защищённых страницах.
Модуль работает на CS-Cart и Multi-Vendor начиная с версии 4.3.1 и поддерживает редакции CS-Cart, CS-Cart Ultimate, Multi-Vendor, Multi-Vendor Plus и Multi-Vendor Ultimate.
На витрине модуль встраивается через стандартные хуки темы Responsive и тем, построенных на её основе. Кнопка Google выводится хуком index:login_buttons шаблона views/auth/login_form.tpl, который используют всплывающее окно входа, страница входа, блок Мой аккаунт и формы входа при оформлении заказа; блок на странице регистрации и в профиле покупателя — хуком profiles:account_update шаблона views/profiles/update.tpl. Если ваша тема переопределяет эти шаблоны без хуков, кнопка и блок привязки не появятся, пока хуки не будут возвращены.
Саму кнопку и подсказку One Tap рисует библиотека Google Identity Services, которая подключается с accounts.google.com. Ей нужны витрина по HTTPS (подсказку One Tap на HTTP Google не показывает), домены магазина, внесённые в Authorized JavaScript origins OAuth-клиента, и доступ браузера покупателя к серверам Google. В Chrome подсказка One Tap работает через механизм FedCM.
На Multi-Vendor через Google входят только покупатели: учётные записи продавцов и администраторов модуль не затрагивает. В редакциях с несколькими витринами настройки задаются отдельно для каждой витрины.
Рядом с модулем Вход через Яндекс ID от CS-Commerce кнопки Google и Яндекса выстраиваются в один столбик под общим разделителем.
В случае конфликта модуля с вашей темой или другим решением обращайтесь в наш центр поддержки.
После оформления и оплаты, ваш заказ будет автоматически переведен в статус Оплачен в течение считанных минут. Статус заказа Оплачен означает активацию лицензии и вам на e-mail отправляется письмо с подтверждением о получении оплаты и письмо со ссылкой на скачивание модуля. Так же модуль всегда можно скачать в нашем разделе Управление лицензиями. Для установки модуля на ваш сайт, пожалуйста, выполните следующие шаги:
- Скачайте последнюю версию модуля на нашем сайте в разделе "Управление лицензиями" или по ссылке, отправленной по e-mail.
- Пройдите в раздел Модули → Управление модулями и в меню шестерёнки выберите Ручная установка.
- Выберите ранее скачанный файл и завершите установку модуля.
На этом установка модуля завершена. Для перехода на страницу настроек модуля выберите установленный модуль в разделе Модули → Модули CS-Commerce
Страница настроек модуля находится в разделе Модули → Модули CS-Commerce → Вход через Google One Tap. Попасть на неё можно и через Модули → Управление модулями: при открытии настроек модуля из общего списка система сама перенаправит вас на эту страницу.
Все настройки собраны на одной вкладке Основные настройки в пять групп: Google Cloud, Кнопка входа, Подсказка One Tap, Учётные записи покупателей и Диагностика; каждая разобрана в разделе Основные настройки модуля. Справа расположены блоки с информацией об установленной версии модуля и сроке подписки на обновления, ссылка на документацию и форма оценки модуля.

Пока поле Client ID пустое, модуль на витрине ничего не показывает: ни кнопку, ни подсказку One Tap, ни блок привязки в профиле. Как получить Client ID — в разделе Настройка приложения в Google Cloud.
Настройки по витринам
В редакциях CS-Cart Ultimate и Multi-Vendor Ultimate с несколькими витринами настройки хранятся отдельно для каждой витрины. Витрина выбирается переключателем в шапке страницы. Пока витрина не выбрана, поля недоступны для изменения, а рядом с каждым появляется стандартный для Ultimate значок замка — в открытом состоянии значение записывается сразу во все витрины.
В Multi-Vendor с одной витриной настройки общие для всего маркетплейса; отдельных значений для продавцов нет.
Права доступа
Модуль добавляет собственную группу привилегий — Управление модулем "Вход через Google One Tap". В ней две привилегии: просмотр страницы настроек и её изменение. По умолчанию они не выданы ни одной группе пользователей, поэтому администратор с ограниченными правами страницу настроек не увидит, пока привилегии не будут выданы его группе.
Привилегии влияют только на доступ к странице настроек. Вход через Google на витрине от прав администраторов не зависит.
Google Cloud
В начале группы — памятка Как получить Client ID с готовым списком адресов вашего магазина для поля Authorized JavaScript origins; сам процесс описан в разделе Настройка приложения в Google Cloud.
Client ID — идентификатор OAuth 2.0-клиента типа Web application из Google Cloud Console, заканчивается на .apps.googleusercontent.com. Обязательное поле: пока оно пустое, вход через Google на витрине не показывается.
Разрешённые домены e-mail — список доменов через запятую, например company.com, partner.org. Если поле заполнено, войти через Google смогут только аккаунты с e-mail в этих доменах (учитывается и домен организации Google Workspace); остальные увидят сообщение Аккаунты с таким доменом e-mail не могут входить в этот магазин. Пустое поле принимает любые аккаунты Google.
Кнопка входа
Показывать кнопку в формах входа — по умолчанию включено. Добавляет кнопку Google во всплывающее окно входа, на страницу входа, в форму входа при оформлении заказа и на страницу регистрации. Если выключить, на витрине останутся только подсказка One Tap (при её включении) и блок привязки аккаунта в профиле покупателя.
Текст кнопки — надпись выводит Google на языке покупателя. Варианты: Войти с аккаунтом Google, Зарегистрироваться через Google, Продолжить с аккаунтом Google (по умолчанию) и короткое Войти. Если покупатель уже вошёл в Google в браузере, вместо надписи Google показывает на кнопке его имя, e-mail и портрет.
Оформление кнопки — цветовая схема: Светлая (с обводкой) (по умолчанию), Синяя или Чёрная.
Размер кнопки — высота: Большая (по умолчанию), Средняя или Маленькая.
Форма кнопки — Прямоугольная (по умолчанию) или Овальная (скруглённая).
Ширина кнопки, px — от 200 до 400 пикселей: большее значение обрезается до 400, значение меньше 200 не учитывается. Пустое поле — кнопка подстраивается под ширину формы входа в тех же пределах.
Подсказка One Tap
Показывать гостям подсказку Google One Tap — по умолчанию выключено. Гостю, который уже вошёл в Google в браузере, в углу страницы показывается небольшая панель Google с предложением войти через его аккаунт. Авторизованным покупателям подсказка не показывается. Остальные настройки группы появляются только при включённой подсказке.
Автоматический вход для вернувшихся покупателей — по умолчанию выключено. Если посетитель уже входил в магазин через Google и в браузере ровно одна сессия Google, One Tap выполняет вход без клика.
Закрывать One Tap кликом вне окна — по умолчанию выключено. Если включить, любой клик по странице мимо подсказки закрывает её. Google и Chrome считают такое закрытие отказом и на время перестают показывать One Tap на вашем сайте (от 2 часов до недель при повторных отказах), поэтому рекомендуется оставить выключенным: тогда подсказка закрывается только крестиком.
Под настройками выводится памятка Почему One Tap может не появляться и как это сбросить; те же причины разобраны в разделе Подсказка One Tap.

Учётные записи покупателей
Создавать учётную запись новым покупателям — по умолчанию включено. Если учётной записи с e-mail аккаунта Google нет, профиль покупателя создаётся автоматически с именем и фамилией из аккаунта Google. Если выключить, такие посетители увидят сообщение Учётной записи с таким e-mail ещё нет. Пожалуйста, сначала зарегистрируйтесь.
Отправлять стандартное письмо о регистрации — по умолчанию включено, показывается при включённом создании учётных записей. Новые покупатели получают обычное уведомление магазина о создании профиля.
Входить в существующие учётные записи по e-mail — по умолчанию включено. Если учётная запись покупателя с таким же e-mail уже существует, покупатель входит в неё, а аккаунт Google привязывается к профилю. Если выключить, такому покупателю предлагается сначала войти по паролю и привязать Google в настройках профиля.
Запоминать вход — по умолчанию включено. Работает как галочка Запомнить меня в обычной форме входа: сессия покупателя сохраняется в cookie и переживает закрытие браузера.
После входа — куда попадает покупатель после входа через Google: Остаться на текущей странице (по умолчанию), Открыть страницу личного кабинета или Открыть указанный адрес. Для последнего варианта появляется поле Адрес после входа: диспетчер магазина (например, orders.search) или полный адрес страницы магазина.
Диагностика
Записывать отклонённые попытки входа в журнал — по умолчанию выключено. Причины неудачных входов через Google (неподтверждённый e-mail, запрещённый домен, отключённая учётная запись, попытка войти под администратором и другие) записываются в Администрирование → Журналы вместе с e-mail аккаунта. Коды причин — в разделе Безопасность и журнал.

Модулю нужен OAuth-клиент Google: по его идентификатору (Client ID) Google выпускает покупателю подписанный токен, а магазин проверяет, что токен выдан именно вашему приложению. Секрет клиента не используется: браузер покупателя получает от Google подписанный ID-токен, а магазин проверяет подпись по открытым ключам Google.
- Откройте Google Cloud Console → Учётные данные и создайте проект или выберите существующий.
- Настройте экран запроса доступа (OAuth consent screen): тип пользователей External, название приложения, e-mail поддержки.
- Нажмите Create credentials → OAuth client ID, тип приложения — Web application.
- В поле Authorized JavaScript origins добавьте адреса магазина. Готовый список выводится в памятке на странице настроек модуля: для каждого домена магазина и каждой витрины — варианты с
https://иhttp://. - Скопируйте Client ID (заканчивается на
.apps.googleusercontent.com) в одноимённое поле настроек модуля и сохраните настройки.
Поле Authorized redirect URIs заполнять не нужно: модуль работает через всплывающее окно Google и не использует перенаправления.
Изменения в Google Cloud Console вступают в силу не сразу: по данным Google, после добавления домена в список origins может пройти от нескольких минут до нескольких часов, прежде чем кнопка перестанет отвечать ошибкой.
Витрина должна работать по HTTPS: подсказку One Tap Google показывает только на защищённых страницах.Где появляется кнопка
При включённой настройке Показывать кнопку в формах входа кнопка Google выводится под обычной формой входа за разделителем или: во всплывающем окне входа в шапке, на странице входа, в блоке Мой аккаунт и в формах входа при оформлении заказа. На странице регистрации кнопка стоит под формой со строкой или зарегистрируйтесь в один клик. Кнопку рисует сама библиотека Google: с логотипом, на языке витрины, а покупателю, который уже вошёл в Google в браузере, показывает его имя, e-mail и портрет.

Клик по кнопке открывает окно выбора аккаунта Google. Покупатель выбирает аккаунт, Google возвращает в браузер подписанный токен, модуль отправляет его в магазин, и после проверки покупатель входит в магазин. Куда он попадает после входа, задаёт настройка После входа: по умолчанию остаётся на той же странице.
Подсказка One Tap
При включённой настройке Показывать гостям подсказку Google One Tap гостю, который вошёл в Google в браузере, в углу страницы показывается панель Google с его аккаунтами. Один клик по аккаунту — и вход выполнен, без формы входа. Вошедшим в магазин покупателям панель не показывается. С настройкой Автоматический вход для вернувшихся покупателей тот, кто уже входил в магазин через Google, при единственной сессии Google в браузере входит без клика.

Google показывает подсказку не всегда и не всем; причины и способы сброса разобраны в разделе Подсказка One Tap.
Что происходит с учётной записью
- Аккаунт Google уже привязан к покупателю — выполняется вход в эту учётную запись.
- E-mail известен магазину, но аккаунт Google ещё не привязан — при включённой настройке Входить в существующие учётные записи по e-mail покупатель входит в существующую учётную запись, и аккаунт Google привязывается к ней. Если в профиле пустые имя и фамилия, они заполняются из аккаунта Google; заполненные поля не меняются. При выключенной настройке покупатель видит сообщение с просьбой войти по паролю и привязать Google в настройках профиля.
- E-mail магазину неизвестен — при включённой настройке Создавать учётную запись новым покупателям создаётся учётная запись покупателя: e-mail и логин — адрес аккаунта Google, имя и фамилия — из профиля Google (они же записываются в имя получателя в адресе), язык — текущий язык витрины, пароль — случайный. По желанию уходит стандартное письмо о регистрации. Покупатель видит сообщение Добро пожаловать! Учётная запись создана, вы вошли в магазин. При выключенной настройке — сообщение с просьбой сначала зарегистрироваться.
Заказы, оформленные гостем в той же сессии до входа, привязываются к учётной записи. Через Google могут входить только покупатели: если e-mail принадлежит учётной записи администратора или продавца, вход отклоняется с сообщением Вход через Google доступен только покупателям. Отключённая учётная запись покупателя также не пропускается.
Пароль покупателю, созданному через Google, не сообщается, но обычный вход по e-mail и паролю остаётся доступен: пароль задаётся через штатную ссылку Забыли пароль?.
Привязка аккаунта в профиле
В личном кабинете на странице профиля появляется блок Аккаунт Google. Если аккаунт привязан, в блоке показаны портрет и e-mail аккаунта Google и кнопка Отвязать; после отвязки вход через этот аккаунт снова пройдёт через сопоставление по e-mail.

Если аккаунт не привязан, в блоке стоит кнопка Google с подсказкой Привяжите аккаунт Google, чтобы входить в магазин без пароля: вошедший покупатель нажимает её и выбирает аккаунт, который будет привязан к профилю.

Один аккаунт Google может быть привязан только к одному покупателю: попытка привязать аккаунт, уже связанный с другим профилем, отклоняется с сообщением Этот аккаунт Google уже привязан к другому покупателю. При удалении учётной записи покупателя привязка удаляется вместе с ней.
Подсказку One Tap показывает Google: решение о показе принимает его библиотека в браузере покупателя, а модуль лишь запрашивает показ для гостей. Если панель не появляется, причина почти всегда в одном из пунктов ниже. Причина последней попытки выводится в консоль браузера строкой, начинающейся с Google One Tap.
- Посетитель уже вошёл в магазин. Подсказка показывается только гостям.
- В браузере нет сессии Google. One Tap предлагает аккаунт, в который посетитель уже вошёл на google.com; без него предлагать нечего (в консоли:
opt_out_or_no_session). - Кулдаун Google. После закрытия подсказки крестиком Google перестаёт показывать её на вашем сайте на 2 часа, затем на день, неделю и дольше при повторных отказах (в консоли:
suppressed_by_user). Сброс: удалить в браузере cookieg_stateвашего домена (DevTools → Application → Cookies). - Chrome заблокировал вход через сторонние сервисы (FedCM). Chrome запоминает закрытый диалог входа и блокирует его для сайта, временно или постоянно (в консоли:
FedCM was disabled…). Сброс: значок настроек сайта слева от адресной строки → Вход через сторонние сервисы → Разрешить, либо удалить сайт из списка наchrome://settings/content/federatedIdentityApi. - HTTP вместо HTTPS. Google показывает One Tap только на защищённых страницах.
- Домен не внесён в Authorized JavaScript origins OAuth-клиента — в консоли браузера появляется ошибка Google о недопустимом origin; проверьте список в Google Cloud Console.
Та же памятка выводится на странице настроек модуля под группой Подсказка One Tap.
Именно из-за кулдауна настройка Закрывать One Tap кликом вне окна по умолчанию выключена: случайный клик мимо панели засчитывается Google как отказ, и подсказка пропадает у этого посетителя на часы или дни.
Проверка токена
Браузер покупателя получает от Google ID-токен (JWT с подписью RS256) и передаёт его в магазин; обмена кодами и секретом приложения нет. Модуль проверяет токен на сервере магазина:
- подпись — по открытым ключам Google (
https://www.googleapis.com/oauth2/v3/certs); ключи кешируются в хранилище магазина на срок, который указывает Google, а при неизвестном ключе набор обновляется. Если ключи получить не удалось, токен проверяется запасным способом через сервис Googletokeninfo; - издатель —
accounts.google.com; - принадлежность приложению — поле
audтокена совпадает с Client ID из настроек; - срок действия — с допуском 5 минут на расхождение часов;
- e-mail присутствует и подтверждён Google (
email_verified); - домен e-mail входит в список Разрешённые домены e-mail, если он задан; учитывается и домен организации Google Workspace (
hd).
Запросы витрины к модулю принимаются только методом POST и защищены штатной проверкой CSRF-токена CS-Cart. Адрес возврата после входа проверяется на принадлежность домену магазина: перенаправить покупателя на чужой сайт через параметр ссылки нельзя.
Кто может войти
Через Google входят только учётные записи покупателей. Если e-mail аккаунта Google принадлежит администратору или продавцу, вход отклоняется. Отключённые учётные записи не пропускаются. Один аккаунт Google связан не более чем с одной учётной записью покупателя.
Что хранит модуль
Привязки хранятся в таблице csc_google_oauth_users: идентификатор аккаунта Google, e-mail, имя и адрес портрета из профиля Google, дата привязки, дата последнего входа и число входов. Токены Google в магазине не сохраняются. Пароль покупателю, созданному через Google, генерируется случайный и хранится штатным образом. При удалении покупателя запись о привязке удаляется; при удалении модуля таблица удаляется вместе со всеми привязками.
Журнал
При включённой настройке Записывать отклонённые попытки входа в журнал каждый неудачный вход записывается в Администрирование → Журналы строкой csc_google_oauth: Sign-in rejected с кодом причины и e-mail аккаунта. Коды и соответствующие им сообщения покупателю:
email_not_verified— У вашего аккаунта Google нет подтверждённого e-mail, поэтому войти через него нельзя;domain_not_allowed— Аккаунты с таким доменом e-mail не могут входить в этот магазин;account_not_found— Учётной записи с таким e-mail ещё нет. Пожалуйста, сначала зарегистрируйтесь (создание учётных записей выключено);account_exists_not_linked— Учётная запись с таким e-mail уже существует. Войдите по паролю и привяжите Google в настройках профиля (вход в существующие учётные записи выключен);account_disabled— Эта учётная запись отключена;not_customer— Вход через Google доступен только покупателям;google_account_taken— Этот аккаунт Google уже привязан к другому покупателю;cant_create_profile— Не удалось создать учётную запись. Пожалуйста, зарегистрируйтесь через форму;certs_unavailable— Google временно недоступен. Попробуйте ещё раз через минуту (магазин не смог получить ключи Google);malformed_token,bad_signature,bad_issuer,bad_audience,token_expired,login_failed— Не удалось войти через Google. Попробуйте ещё раз или войдите по e-mail и паролю.
Для разработчиков
Перед созданием учётной записи модуль вызывает хук csc_google_oauth_create_user с данными токена и массивом данных покупателя, который передаётся в fn_update_user(): в нём можно дополнить или изменить поля профиля. На витрине при неудачном входе срабатывает событие ce.csgo.login_failed с кодом ошибки.
Для того, чтобы иметь доступ к обновлениям модуля, у вас должен быть активный период подписки на обновления. При истекшем периоде подписки, вам будут доступны только обновления, выпущенные до даты истечения вашей подписки. Продлить подписку на обновления можно в разделе "Управление лицензиями" на нашем сайте.
Модуль поддерживает поставку обновлений через Центр обновлений CS-Cart. О выходе новых версий модуля вас оповестит встроенный Центр уведомлений Cart (колокольчик). Обновление модуля с помощью Центра обновлений позволит без потерь настроек данных модуля произвести переход на более новую версию модуля.
Непосредственно перед обновлением, крайне рекомендуется делать полный бэкап сайта (базы данных и файлов) вашего магазина средствами сервера или хостинга.
Обновление модуля через Центр обновлений:
- В верхнем меню пройдите в раздел Администрирование → Центр обновлений;
- В меню шестеренки нажмите "Проверить доступные обновления"
- Cреди списка доступных обновлений найдите нужное и нажмите кнопку Обновить;
- Следуйте всем инструкциям, которые будут показаны при процедуре обновления;
- Рекомендуется произвести очистку кэша CS-Cart после завершения устанвоки обновлений удалением папки var/cache на вашем сервере или добавлением в адресную строку параметра ctpl (прмиер: https://domain.com/admin.php?ctpl).
Переустановка модуля удалением:
Переустановка модуля означает удаление настроек и данных модуля. Переустановка позволит получить чистую установку модуля. Для переустановки модуля с сохранением настроек и данных, пожалуйста, обратитесь в наш Центр поддержки для оказания такой услуги.
Для полной переустановки модуля без сохранения данных выполните следующие шаги:
- Пройдите в раздел Модули → Управление модулями и найдите старый установленный модуль.
- Нажмите в меню шестеренки модуля кнопку удалить.
- Скачайте последнюю версию модуля на нашем сайте в разделе "Управление лицензиями".
- Пройдите в раздел Модули → Управление модулями и в меню шестеренки выберите Ручная установка.
- Выберите ранее скачанный файл и завершите установку модуля.
Техническая поддержка модуля уже включена в его стоимость. Прежде чем обращаться в центр поддержки, пожалуйста, убедитесь что вы используете последнюю выпущенную версию модуля. Старые версии модуля не обслуживаются технической поддержкой.
Для того, чтобы воспользоваться нашей технической поддержкой, выполните следующие шаги:
- На нашем сайте центра поддержки https://helpdesk.cs-commerce.com/ авторизуйтесь под своей учетной записью;
- Нажмите на кнопку "Новая заявка";
- Заполните все необходимые поля и создайте заявку (Вы получите на e-mail письмо с подтверждением);
- Ожидайте ответ специалиста (на ваш e-mail придет уведомление об ответе на вашу заявку) в соответствии с регламентами работы службы техподдержки.
Если Вы не получили ответ в течении сроков, обозначенных в регламентах, напишите нам на e-mail [email protected] сообщение с темой заявки и мы постараемся решить вас вопрос в ближайшее время.
Техническая поддержка по диалогу в чате на сайте, прямым телефонным обращениям или e-mail письмам не осуществляется. Вся помощь проходит через центр поддержки. Внимательно изучайте документацию к модулю и условия технической поддержки перед созданием обращения.Рекомендуем ознакомиться с общими ограничениями:
- Фрагменты кода или некоторые файлы модуля могут иметь закрытую (закодированную) часть. Закодированная часть не создает проблемы в доработке модуля;
- Модуль будет работать только на тех доменах, которые указаны в лицензии пользователя. При попытке использования решения на установках CS-Cart, домены которых не включены в лицензию, модуль будет автоматически выключен;
- Установка локально не допускается системой лицензирования. Чтобы модуль работал на дополнительном домене (псевдониме) укажите этот псевдоним на странице управления лицензиями. На один домен допускается указать до трех псевдонимов для нужд тестирования и разработки.
- Главный домен лицензии вы можете менять самостоятельно на странице управления лицензиями.
Для доступа к изменению/добавлению доменов и псевдонимов лицензии, подписка на обновления должна быть активной. Для изменения домена лицензии с истекшим периодом подписки, сначала необходимо продлить подписку на обновления.
Версия 1.0 от 28 сентября 2026 года
- Первый релиз модуля: вход и регистрация через Google в один клик, подсказка One Tap, привязка аккаунта Google в личном кабинете, настройки кнопки и создания учётных записей.