Полное руководство по областям входа в Google: методы и примеры кода

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

Области входа в Google:

  1. Базовый профиль.
    Базовый профиль (profile) обеспечивает доступ к основной информации о пользователе, включая его имя, изображение профиля и адрес электронной почты. Эта область обычно используется для приложений, которым требуется минимум информации о пользователе. Вот пример запроса базовой области профиля:
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script>
  function handleCredentialResponse(response) {
    // Handle the response
  }
  google.accounts.id.initialize({
    client_id: 'YOUR_CLIENT_ID',
    callback: handleCredentialResponse,
    auto_select: true,
    cancel_on_tap_outside: true,
    native_callback: function (response) {
      // Handle the native response
    },
    prompt_parent_id: 'g_id_onload',
    scope: 'profile',
  });
</script>
  1. Область электронной почты.
    Область электронной почты (email) предоставляет доступ к адресу электронной почты пользователя. Эта область полезна, когда вам нужно проверить электронную почту пользователя или отправить уведомления по электронной почте. Вот пример запроса области действия электронной почты:
google.accounts.id.initialize({
  client_id: 'YOUR_CLIENT_ID',
  callback: handleCredentialResponse,
  auto_select: true,
  cancel_on_tap_outside: true,
  native_callback: function (response) {
    // Handle the native response
  },
  prompt_parent_id: 'g_id_onload',
  scope: 'email',
});
  1. Область OpenID Connect:
    Область OpenID Connect (openid) обеспечивает доступ к уникальному идентификатору пользователя. Эта область обычно используется для целей аутентификации и авторизации. Вот пример запроса области OpenID Connect:
google.accounts.id.initialize({
  client_id: 'YOUR_CLIENT_ID',
  callback: handleCredentialResponse,
  auto_select: true,
  cancel_on_tap_outside: true,
  native_callback: function (response) {
    // Handle the native response
  },
  prompt_parent_id: 'g_id_onload',
  scope: 'openid',
});
  1. Дополнительные области.
    В дополнение к указанным выше областям действия вход в Google поддерживает различные другие области, например https://www.googleapis.com/auth/calendarдля доступа к календарю пользователя или https://www.googleapis.com/auth/driveдля доступа к Google Диску. Вы можете указать несколько областей, разделив их пробелами в параметре области.