Вход в Google – это популярный механизм аутентификации, который позволяет пользователям входить в различные приложения и на веб-сайты, используя свои учетные данные Google. При реализации входа в Google важно понимать концепцию областей, которые определяют уровень доступа и разрешения, предоставленные приложению. В этой статье мы рассмотрим различные области, необходимые для входа в Google, и предоставим примеры кода для каждого метода.
Области входа в Google:
- Базовый профиль.
Базовый профиль (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>
- Область электронной почты.
Область электронной почты (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',
});
- Область 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',
});
- Дополнительные области.
В дополнение к указанным выше областям действия вход в Google поддерживает различные другие области, напримерhttps://www.googleapis.com/auth/calendarдля доступа к календарю пользователя илиhttps://www.googleapis.com/auth/driveдля доступа к Google Диску. Вы можете указать несколько областей, разделив их пробелами в параметре области.