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

Справочник по API JavaScript для входа в систему

На этой справочной странице описывается API JavaScript для входа. Вы можете использовать этот API для отображения подсказки One Tap или кнопки «Войти через Google» на своих веб-страницах.

Метод: google.accounts.id.initialize

Метод google.accounts.id.initialize инициализирует клиент Sign In With Google на основе объекта конфигурации. См. следующий пример кода метода:

google.accounts.id.initialize(IdConfiguration)

В следующем примере кода метод google.accounts.id.initialize реализуется с функцией onload :

<script>
  window.onload = function () {
    google.accounts.id.initialize({
      client_id: 'YOUR_GOOGLE_CLIENT_ID',
      callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
  };
</script>

Метод google.accounts.id.initialize создает экземпляр клиента Sign In With Google, который может неявно использоваться всеми модулями на одной и той же веб-странице.

  • Вам нужно вызвать метод google.accounts.id.initialize только один раз, даже если вы используете несколько модулей (например, One Tap, персонализированную кнопку, отзыв и т. д.) на одной и той же веб-странице.
  • Если вы вызовете метод google.accounts.id.initialize несколько раз, будут запомнены и использованы только конфигурации последнего вызова.

Фактически вы сбрасываете настройки всякий раз, когда вызываете метод google.accounts.id.initialize , и все последующие методы на той же веб-странице будут немедленно использовать новые настройки.

Тип данных: Идконфигуратион

В следующей таблице перечислены поля и описания типа данных IdConfiguration :

Поле
client_id Идентификатор клиента вашего приложения
auto_select Включает автоматический выбор.
callback Функция JavaScript, которая обрабатывает токены ID. Google One Tap и режим UX popup с кнопкой «Войти с помощью Google» используют этот атрибут.
login_uri URL-адрес вашей конечной точки входа. Этот атрибут используется в режиме redirect кнопки «Войти через Google».
native_callback Функция JavaScript, которая обрабатывает учетные данные пароля.
cancel_on_tap_outside Отменяет подсказку, если пользователь щелкает за пределами подсказки.
prompt_parent_id Идентификатор DOM элемента-контейнера подсказки One Tap.
nonce Случайная строка для токенов ID
context Название и слова в подсказке One Tap
state_cookie_domain Если вам нужно вызвать One Tap в родительском домене и его поддоменах, передайте родительский домен в это поле, чтобы использовался один общий файл cookie.
ux_mode UX-процесс кнопки «Войти с помощью Google»
allowed_parent_origin Источники, которым разрешено встраивать промежуточный iframe. One Tap будет работать в промежуточном режиме iframe, если это поле присутствует.
intermediate_iframe_close_callback Переопределяет поведение промежуточного iframe по умолчанию, когда пользователи вручную закрывают One Tap.
itp_support Включает обновленный интерфейс One Tap UX в браузерах ITP.

ID клиента

Это поле представляет собой идентификатор клиента вашего приложения, который можно найти и создать в Google Developers Console. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить Да client_id: "CLIENT_ID.apps.googleusercontent.com"

авто Выбор

Это поле определяет, будет ли токен идентификатора автоматически возвращаться без какого-либо взаимодействия с пользователем, если до этого ваше приложение было одобрено только в одном сеансе Google. Значение по умолчанию — false . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
логический По желанию auto_select: true

перезвонить

Это поле представляет собой функцию JavaScript, которая обрабатывает маркер идентификатора, возвращенный из подсказки One Tap или всплывающего окна. Этот атрибут является обязательным, если используется режим пользовательского интерфейса popup Google One Tap или кнопки «Войти с помощью Google». Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
функция Требуется для One Tap и popup режима UX callback: handleResponse

логин_ури

Этот атрибут является URI вашей конечной точки входа. Может быть опущен, если текущая страница является вашей страницей входа, и в этом случае учетные данные публикуются на этой странице по умолчанию.

Ответ с учетными данными токена идентификатора отправляется в конечную точку входа, когда пользователь нажимает кнопку «Войти с помощью Google» и используется режим перенаправления UX.

Дополнительную информацию см. в следующей таблице:

Тип По желанию Пример
URL-адрес По умолчанию используется URI текущей страницы или указанное вами значение.
Используется только при ux_mode: "redirect" .
login_uri="https://www.example.com/login"

Ваша конечная точка входа должна обрабатывать запросы POST, содержащие ключ credential со значением маркера идентификатора в теле.

Ниже приведен пример запроса к вашей конечной точке входа:

POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

credential=ID_TOKEN

native_callback

Это поле является именем функции JavaScript, которая обрабатывает учетные данные пароля, возвращенные собственным диспетчером учетных данных браузера. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
функция По желанию native_callback: handleResponse

cancel_on_tap_outside

В этом поле задается, следует ли отменять запрос One Tap, если пользователь щелкает за пределами подсказки. Значение по умолчанию — true . Вы можете отключить его, если установите значение false . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
логический По желанию cancel_on_tap_outside: false

prompt_parent_id

Этот атрибут устанавливает DOM ID элемента контейнера. Если он не установлен, в правом верхнем углу окна отображается подсказка One Tap. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию prompt_parent_id: 'parent_id'

одноразовый номер

Это поле представляет собой случайную строку, используемую токеном ID для предотвращения повторных атак. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию nonce: "biaqbm70g23"

Длина одноразового номера ограничена максимальным размером JWT, поддерживаемым вашей средой, а также ограничениями размера HTTP для отдельных браузеров и серверов.

контекст

Это поле изменяет текст заголовка и сообщения в подсказке One Tap. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию context: "use"

В следующей таблице перечислены доступные контексты и их описания:

Контекст
signin "Войти через Google"
signup "Зарегистрируйтесь в Google"
use "Использовать с Google"

Если вам нужно отобразить One Tap в родительском домене и его поддоменах, передайте родительский домен в это поле, чтобы использовался один файл cookie с общим состоянием. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию state_cookie_domain: "example.com"

ux_mode

Используйте это поле, чтобы настроить поток UX, используемый кнопкой «Войти через Google». Значение по умолчанию — popup . Этот атрибут не влияет на UX OneTap. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию ux_mode: "redirect"

В следующей таблице перечислены доступные режимы UX и их описания.

Пользовательский режим
popup Выполняет вход в UX во всплывающем окне.
redirect Выполняет вход в UX путем полного перенаправления страницы.

allow_parent_origin

Источники, которым разрешено встраивать промежуточный iframe. One Tap будет работать в промежуточном режиме iframe, если это поле присутствует. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
строка или массив строк По желанию allowed_parent_origin: "https://example.com"

В следующей таблице перечислены поддерживаемые типы значений и их описания.

Типы значений
string URI одного домена. "https://example.com"
string array Массив доменных URI. ["https://news.example.com", "https://local.example.com"]

Подстановочные префиксы также поддерживаются. Например, "https://*.example.com" будет соответствовать example.com и его поддоменам на всех уровнях (например, news.example.com , login.news.example.com ). О чем следует помнить при использовании подстановочных знаков:

  • Строки шаблона не могут состоять только из подстановочного знака и домена верхнего уровня. Например https://*.com и https://*.co.uk недействительны; Как отмечалось выше, "https://*.example.com" будет соответствовать example.com и его поддоменам. Вы также можете использовать массив для представления двух разных доменов. Например, ["https://example1.com", "https://*.example2.com"] будет соответствовать доменам example1.com , example2.com и поддоменам example2.com
  • Домены с подстановочными знаками должны начинаться с безопасной схемы https://. "*.example.com" будет считаться недействительным.

Если значение поля allowed_parent_origin недопустимо, инициализация одним нажатием промежуточного режима iframe завершится ошибкой и остановится.

промежуточный_iframe_close_callback

Переопределяет поведение промежуточного iframe по умолчанию, когда пользователи вручную закрывают One Tap, нажимая кнопку «X» в пользовательском интерфейсе One Tap. Поведение по умолчанию заключается в немедленном удалении промежуточного iframe из DOM.

Поле intermediate_iframe_close_callback действует только в промежуточном режиме iframe. И это влияет только на промежуточный iframe, а не на iframe One Tap. Пользовательский интерфейс One Tap удаляется до вызова обратного вызова.

Тип Необходимый Пример
функция По желанию intermediate_iframe_close_callback: logBeforeClose

itp_support

Это поле определяет, следует ли включать обновленный интерфейс One Tap UX в браузерах, поддерживающих Intelligent Tracking Prevention (ITP). Значение по умолчанию — false . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
логический По желанию itp_support: true

Метод: google.accounts.id.prompt

Метод google.accounts.id.prompt отображает приглашение One Tap или собственный диспетчер учетных данных браузера после вызова метода initialize() . См. следующий пример кода метода:

 google.accounts.id.prompt(/**
 @type{(function(!PromptMomentNotification):void)=} */ momentListener)

Обычно метод prompt() вызывается при загрузке страницы. Из-за состояния сеанса и пользовательских настроек на стороне Google пользовательский интерфейс подсказок одним касанием может не отображаться. Чтобы получать уведомления о состоянии пользовательского интерфейса в разные моменты времени, передайте функцию для получения уведомлений о состоянии пользовательского интерфейса.

Уведомления срабатывают в следующие моменты:

  • Момент отображения: это происходит после вызова метода prompt() . Уведомление содержит логическое значение, указывающее, отображается ли пользовательский интерфейс или нет.
  • Пропущенный момент: это происходит, когда приглашение One Tap закрывается автоматической отменой, отменой вручную или когда Google не выдает учетные данные, например, когда выбранный сеанс вышел из Google.

    В этих случаях мы рекомендуем вам перейти к следующим поставщикам удостоверений, если таковые имеются.

  • Момент отклонения: это происходит, когда Google успешно извлекает учетные данные или пользователь хочет остановить поток получения учетных данных. Например, когда пользователь начинает вводить свое имя пользователя и пароль в диалоговом окне входа в систему, вы можете вызвать метод google.accounts.id.cancel() , чтобы закрыть приглашение одним касанием и запустить момент отклонения.

В следующем примере кода реализуется пропущенный момент:

<script>
  window.onload = function () {
    google.accounts.id.initialize(...);
    google.accounts.id.prompt((notification) => {
      if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
        // continue with another identity provider.
      }
    });
  };
</script>

Тип данных: PromptMomentNotification

В следующей таблице перечислены методы и описания типа данных PromptMomentNotification .

Метод
isDisplayMoment() Это уведомление для показа момента?
isDisplayed() Является ли это уведомление моментом отображения, и отображается пользовательский интерфейс?
isNotDisplayed() Является ли это уведомление временным отображением, а пользовательский интерфейс не отображается?
getNotDisplayedReason()

Подробная причина, по которой пользовательский интерфейс не отображается. Возможны следующие значения:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
isSkippedMoment() Это уведомление о пропущенном моменте?
getSkippedReason()

Подробная причина пропущенного момента. Возможны следующие значения:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
isDismissedMoment() Является ли это уведомление отклоненным моментом?
getDismissedReason()

Подробная причина увольнения. Возможны следующие значения:

  • credential_returned
  • cancel_called
  • flow_restarted
getMomentType()

Возвращает строку для типа момента. Возможны следующие значения:

  • display
  • skipped
  • dismissed

Тип данных: CredentialResponse

Когда вызывается ваша функция callback вызова, в качестве параметра передается объект CredentialResponse . В следующей таблице перечислены поля, содержащиеся в объекте ответа учетных данных:

Поле
credential Это поле представляет собой возвращаемый токен идентификатора.
select_by В этом поле задается способ выбора учетных данных.

полномочия

Это поле представляет собой токен идентификатора в виде строки JSON Web Token (JWT) в кодировке base64.

При декодировании JWT выглядит следующим образом:

header
{
  "alg": "RS256",
  "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature
  "typ": "JWT"
}
payload
{
  "iss": "https://accounts.google.com", // The JWT's issuer
  "nbf":  161803398874,
  "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID
  "sub": "3141592653589793238", // The unique ID of the user's Google Account
  "hd": "gmail.com", // If present, the host domain of the user's GSuite email address
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Elisa",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion's creation time
  "exp": 1596477600, // Unix timestamp of the assertion's expiration time
  "jti": "abc161803398874def"
}

sub содержит глобальный уникальный идентификатор учетной записи Google.

Используя поля email , email_verified и hd , вы можете определить, является ли хост Google и является ли авторизованным для адреса электронной почты. В тех случаях, когда Google является авторитетным, в настоящее время известно, что пользователь является законным владельцем учетной записи.

Случаи, когда Google авторитетен:

  • email имеет суффикс @gmail.com , это учетная запись Gmail.
  • email_verified имеет значение true и установлен hd , это учетная запись G Suite.

Пользователи могут зарегистрировать учетные записи Google, не используя Gmail или G Suite. Если email не содержит суффикса @gmail.com и hd отсутствует, Google не является авторитетным, и для проверки пользователя рекомендуется использовать пароль или другие методы запроса. email_verfied также может быть истинным, поскольку Google изначально проверил пользователя при создании учетной записи Google, однако право собственности на стороннюю учетную запись электронной почты с тех пор могло измениться.

select_by

В следующей таблице перечислены возможные значения для поля select_by . Тип кнопки, используемой вместе с сеансом и состоянием согласия, используются для установки значения,

  • Пользователь нажимал либо кнопку «Одно касание», либо кнопку «Войти через Google», либо использовал процесс бесконтактного автоматического входа.

  • Обнаружен существующий сеанс или пользователь выбрал аккаунт Google и вошел в него, чтобы установить новый сеанс.

  • Прежде чем делиться учетными данными токена идентификатора с вашим приложением, пользователь либо

    • нажал кнопку «Подтвердить», чтобы дать свое согласие на обмен учетными данными, или
    • ранее предоставил согласие и использовал «Выбор учетной записи», чтобы выбрать учетную запись Google.

Значение этого поля установлено в один из этих типов,

Ценность Описание
auto Автоматический вход пользователя с существующим сеансом, который ранее дал согласие на обмен учетными данными.
user Пользователь с существующим сеансом, ранее давший согласие, нажал кнопку «Продолжить как» одним нажатием, чтобы поделиться учетными данными.
user_1tap Пользователь с существующим сеансом нажал кнопку One Tap «Продолжить как», чтобы дать согласие и поделиться учетными данными. Применяется только к Chrome v75 и выше.
user_2tap Пользователь без существующего сеанса нажал кнопку One Tap «Продолжить как», чтобы выбрать учетную запись, а затем нажал кнопку «Подтвердить» во всплывающем окне, чтобы предоставить согласие и поделиться учетными данными. Применяется для браузеров, отличных от Chromium.
btn Пользователь с существующим сеансом, ранее давший согласие, нажал кнопку «Войти через Google» и выбрал учетную запись Google в разделе «Выбрать учетную запись», чтобы поделиться учетными данными.
btn_confirm Пользователь с существующим сеансом нажал кнопку «Войти через Google», а затем кнопку «Подтвердить», чтобы дать согласие и поделиться учетными данными.
btn_add_session Пользователь без существующего сеанса, ранее давший согласие, нажал кнопку «Войти с помощью Google», чтобы выбрать учетную запись Google и поделиться учетными данными.
btn_confirm_add_session Пользователь без существующего сеанса сначала нажимал кнопку «Войти с помощью Google», чтобы выбрать учетную запись Google, а затем нажимал кнопку «Подтвердить», чтобы дать согласие и поделиться учетными данными.

Метод: google.accounts.id.renderButton

Метод google.accounts.id.renderButton отображает кнопку «Войти через Google» на ваших веб-страницах.

См. следующий пример кода метода:

google.accounts.id.renderButton(
      /** @type{!HTMLElement} */ parent,
      /** @type{!GsiButtonConfiguration} */ options
    )

Тип данных: GsiButtonConfiguration

В следующей таблице перечислены поля и описания типа данных GsiButtonConfiguration :

Атрибут
type Тип кнопки: иконка или стандартная кнопка.
theme Тема кнопки. Например, fill_blue или fill_black.
size Размер кнопки. Например, маленькое или большое.
text Текст кнопки. Например, «Войти через Google» или «Зарегистрироваться через Google».
shape Форма кнопки. Например, прямоугольный или круглый.
logo_alignment Выравнивание логотипа Google: слева или по центру.
width Ширина кнопки в пикселях.
locale Если установлено, отображается язык кнопок.

Типы атрибутов

Следующие разделы содержат подробные сведения о каждом типе атрибута и пример.

тип

Тип кнопки. Значение по умолчанию — standard .

Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить Да type: "icon"

В следующей таблице перечислены доступные типы кнопок и их описания:

Тип
standard Кнопка с текстом или персонализированной информацией:
icon Кнопка со значком без текста:

тема

Тема кнопки. Значение по умолчанию — outline . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию theme: "filled_blue"

В следующей таблице перечислены доступные темы и их описания:

Тема
outline Стандартная тема кнопки:
filled_blue Тема кнопки с синей заливкой:
filled_black Тема кнопки с черной заливкой:

размер

Размер кнопки. Значение по умолчанию large . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию size: "small"

В следующей таблице перечислены доступные размеры кнопок и их описания:

Размер
large Большая кнопка:
Большая стандартная кнопка.Большая кнопка со значкомБольшая персонализированная кнопка
medium Кнопка среднего размера:
Средняя стандартная кнопкаКнопка со средним значком
small Маленькая кнопка:
Маленькая кнопкаКнопка с маленьким значком

текст

Текст кнопки. Значение по умолчанию — signin_with . Визуальных отличий для текста кнопок со значками, имеющих разные text атрибуты, нет. Единственное исключение — когда текст читается для доступности на экране.

Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию text: "signup_with"

В следующей таблице перечислены доступные тексты кнопок и их описания:

Текст
signin_with Текст кнопки «Войти через Google»:
signup_with Текст кнопки «Зарегистрироваться в Google»:
continue_with Текст кнопки «Продолжить с Google»:
signin Текст кнопки «Войти»:

форма

Форма кнопки. Значение по умолчанию — rectangular . Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию shape: "rectangular"

В следующей таблице перечислены доступные формы кнопок и их описания:

Форма
rectangular Кнопка прямоугольной формы. Если используется для типа кнопки со icon , то это то же самое, что и square .
pill Кнопка в виде таблетки. Если используется для типа кнопки со icon , то это то же самое, что и circle .
circle Кнопка в виде круга. Если используется для standard типа кнопки, то это то же самое, что и pill .
square Кнопка квадратной формы. Если используется для standard типа кнопки, то это то же самое, что и rectangular кнопка.

logo_alignment

Выравнивание логотипа Google. left значение по умолчанию. Этот атрибут применяется только к standard типу кнопки. Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию logo_alignment: "center"

В следующей таблице перечислены доступные выравнивания и их описания:

logo_alignment
left Выравнивает логотип Google по левому краю.
center Выравнивает логотип Google по центру.

ширина

Минимальная ширина кнопки в пикселях. Максимальная ширина составляет 400 пикселей.

Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию width: 400

место действия

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

Дополнительную информацию см. в следующей таблице:

Тип Необходимый Пример
нить По желанию locale: "zh_CN"

Тип данных: учетные данные

Когда вызывается ваша функция native_callback , в качестве параметра передается объект Credential . В следующей таблице перечислены поля, содержащиеся в объекте:

Поле
id Идентифицирует пользователя.
password Пароль

Метод: google.accounts.id.disableAutoSelect

Когда пользователь выходит из вашего веб-сайта, вам нужно вызвать метод google.accounts.id.disableAutoSelect , чтобы записать статус в файлы cookie. Это предотвращает мертвую петлю UX. См. следующий фрагмент кода метода:

google.accounts.id.disableAutoSelect()

В следующем примере кода метод google.accounts.id.disableAutoSelect реализуется с onSignout() :

<script>
  function onSignout() {
    google.accounts.id.disableAutoSelect();
  }
</script>

Метод: google.accounts.id.storeCredential

Этот метод представляет собой простую оболочку для метода store() собственного API диспетчера учетных данных браузера. Поэтому его можно использовать только для хранения учетных данных пароля. См. следующий пример кода метода:

google.accounts.id.storeCredential(Credential, callback)

В следующем примере кода метод google.accounts.id.storeCredential реализуется с onSignIn() :

<script>
  function onSignIn() {
    let cred = {id: '...', password: '...'};
    google.accounts.id.storeCredential(cred);
  }
</script>

Метод: google.accounts.id.cancel

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

google.accounts.id.cancel()

В следующем примере кода метод google.accounts.id.cancel() реализуется с onNextButtonClicked() :

<script>
  function onNextButtonClicked() {
    google.accounts.id.cancel();
    showPasswordPage();
  }
</script>

Обратный вызов загрузки библиотеки: onGoogleLibraryLoad

Вы можете зарегистрировать обратный вызов onGoogleLibraryLoad . Он получает уведомление после загрузки библиотеки JavaScript для входа с помощью Google:

window.onGoogleLibraryLoad = () => {
    ...
};

Этот обратный вызов является просто ярлыком для обратного вызова window.onload . Отличий в поведении нет.

В следующем примере кода реализован обратный вызов onGoogleLibraryLoad :

<script>
  window.onGoogleLibraryLoad = () => {
   google.accounts.id.initialize({
     ...
   });
   google.accounts.id.prompt();
  };
</script>

Метод: google.accounts.id.revoke

Метод google.accounts.id.revoke отменяет предоставление OAuth, используемое для совместного использования токена идентификатора для указанного пользователя. См. следующий фрагмент кода метода: google.accounts.id.revoke(hint, callback)

Параметр Тип Описание
hint нить Адрес электронной почты или уникальный идентификатор учетной записи Google пользователя. Идентификатор — это sub полезной нагрузки учетных данных .
callback функция Необязательный обработчик RevocationResponse .

В следующем примере кода показано, как использовать метод revoke с идентификатором.

  google.accounts.id.revoke('1618033988749895', done => {
    console.log(done.error);
  });

Тип данных: RevocationResponse

Когда вызывается ваша функция callback вызова, в качестве параметра передается объект RevocationResponse . В следующей таблице перечислены поля, содержащиеся в объекте ответа на отзыв:

Поле
successful Это поле является возвращаемым значением вызова метода.
error Это поле может содержать подробное ответное сообщение об ошибке.

успешный

Это поле представляет собой логическое значение, для которого установлено значение true, если вызов метода отзыва выполнен успешно, или значение false в случае сбоя.

ошибка

Это поле является строковым значением и содержит подробное сообщение об ошибке, если вызов метода отзыва завершился неудачно, в случае успеха оно не определено.