На этой странице описано, как реализовать функции, связанные с тем, как пользователи входят в систему или выходят из нее с помощью Google One Tap.
Автоматический вход пользователей
Google One Tap поддерживает автоматический вход, который упрощает работу с сайтом, избавляя пользователей от необходимости вручную вводить учетные данные при повторном посещении. Пользователям не нужно помнить, какой аккаунт Google они выбрали во время последнего посещения, что снижает вероятность создания ненужных дубликатов аккаунтов на вашей платформе.
Автоматический вход дополняет кнопку "Войти с аккаунтом Google" и диалоговые окна One Tap. Он предназначен для использования на всем вашем сайте, при этом ручная регистрация или переключение учетных записей происходит только после того, как пользователь сначала выйдет из вашего сайта.
Для автоматического входа должны выполняться следующие условия:
- пользователи должны войти в аккаунт Google;
- ранее дал согласие на передачу данных профиля аккаунта вашему приложению;
- при использовании FedCM за последние 10 минут была выполнена только одна попытка входа. Если в течение этого времени пользователь попытается войти в аккаунт, ему будет показано окно One Tap.
- При использовании FedCM Chrome требует, чтобы пользователи подтвердили, что хотят войти на сайт с аккаунтом Google, в каждом экземпляре Chrome, даже если пользователь одобрил сайт до внедрения FedCM. Это изменение может повлиять на коэффициент конверсии на вашем сайте, где используется One Tap. В обновлении Chrome M121 улучшение автоматического входа снижает вероятность падения коэффициента конверсии.
Если на страницах включен автоматический вход и выполняются указанные условия, то токен идентификации пользователя возвращается автоматически без каких-либо действий со стороны пользователя. Если эти условия не выполняются, то даже при включенном автоматическом входе на странице пользователь по умолчанию перенаправляется на страницу входа в одно нажатие или страницу согласия. Если у пользователя несколько аккаунтов Google, то при посещении вашего сайта он должен войти в один из них и дать согласие на использование данных.
Вы можете измерить долю успешных автоматических входов, используя значение auto в поле select_by возвращенного объекта CredentialResponse при обработке ответа в обратном вызове JavaScript (callback или data-callback).
select_by не включается в HTTP-запросы POST, отправленные в login_uri или data-login_uri.
Чтобы включить автоматический вход, добавьте в код data-auto_select="true", как показано в следующем фрагменте:
<div id="g_id_onload"
data-client_id="YOUR_GOOGLE_CLIENT_ID"
data-login_uri="https://your.domain/your_login_endpoint"
data-auto_select="true">
</div>
Выйти
Когда пользователь выходит из аккаунта на вашем сайте, его можно перенаправить на страницу, где автоматически показывается окно Google One Tap. В этом случае автоматический выбор должен быть запрещен. В противном случае пользователь будет автоматически входить в аккаунт снова и снова.
Использование FedCM
Чтобы не мешать пользователю, между попытками автоматического входа должно пройти не менее 10 минут. В течение этого периода времени вместо него будет показываться запрос One Tap. Пользователям нужно нажать на кнопку входа в одно нажатие.
Без FedCM
Чтобы запретить автоматический выбор после выхода пользователя из аккаунта, добавьте имя класса g_id_signout ко всем ссылкам и кнопкам выхода. Пример кода:
<div class="g_id_signout">Sign Out</div>
Для выхода также можно использовать следующий фрагмент кода JavaScript:
const button = document.getElementById('signout_button');
button.onclick = () => {
google.accounts.id.disableAutoSelect();
}
Чтобы предотвратить зацикливание UX, статус выхода пользователя из аккаунта сохраняется в файле cookie с названием g_state, который задается библиотекой Сервисов идентификации Google. По умолчанию в качестве домена файла cookie используется домен текущей страницы. Если One Tap показывается в родительском домене и субдоменах, файл cookie состояния должен быть виден во всех ваших доменах. Используйте атрибут data-state_cookie_domain, чтобы задать родительский домен для файла cookie g_state. Например, добавьте data-state_cookie_domain="example.com" в элемент g_id_onload для родительского домена example.com и субдомена webapp.example.com.
Если вы используете сервис, который отслеживает все файлы cookie в вашем домене, вам нужно сообщить ему о файле cookie g_state.
Если вы не хотите загружать клиентскую библиотеку на страницах, которые показываются после входа, воспользуйтесь следующими решениями, чтобы избежать бесконечного цикла UX после выхода:
- При выходе из аккаунта перенаправляйте пользователей на страницу, где не показывается окно входа в один клик или где всегда отключен автоматический вход, например
https://example.com/logged_out. - При выходе из аккаунта добавьте параметр в URL. например
logged_out=1(2-е издание). При отрисовке One Tap с помощью JavaScript API проверьте этот параметр URL и отключите автоматический вход, если он есть.
Основные пути пользователей
Страница автоматического входа.
Использование FedCM
Пользователи могут закрыть окно One Tap, нажав кнопку X. Для обеспечения специальных возможностей токен идентификатора передается на ваш сайт, даже если пользователь нажимает кнопку X.
Чтобы не мешать пользователю, между попытками автоматического входа должно пройти не менее 10 минут. В течение этого периода времени вместо него будет показываться запрос One Tap. Пользователям нужно нажать на кнопку входа в одно нажатие.
Без FedCM

Если пользователь не нажмет кнопку Отмена в течение пяти секунд, токен идентификации будет передан вашему сайту.
Если вход отменен, то в зависимости от количества активных сеансов Google показывается страница выбора аккаунта или страница вернувшегося пользователя.
- Несколько сеансов Google

- Одиночные сеансы Google
