Как сделать авторизацию на сайте через гугл
Перейти к содержимому

Как сделать авторизацию на сайте через гугл

Как сделать авторизацию на сайте через гугл

В этом разделе помещены уроки по PHP скриптам, которые Вы сможете использовать на своих ресурсах.

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза "фильтруйте всё, экранируйте всё" всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

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

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Совет: активация отображения всех ошибок в PHP

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

Агент

PHP парсер юзер агента с поддержкой Laravel, работающий на базе библиотеки Mobile Detect.

Вход через Google

Сервис «Google Аккаунты» позволяет через протокол OAuth 2.0 реализовать авторизацию пользователя на своем сайте. После прохождения авторизации можно получить имя, фамилию, e-mail и юзерпик пользователя.

Регистрация приложения

Новый проект на console.developers.google.com

Создание проекта на console.developers.google.com

Далее, прейти в раздел «API и сервисы» → «Окно запроса доступа OAuth».

API и сервисы

И заполнить форму, в которой требуется указать: название приложения, email для связи, домен вашего сайта, ссылки на главную сайта и политику конфиденциальности.

Окно запроса доступа OAuth

После отправки формы будет предложено создать учетную запись, в списке нужно выбрать «Идентификатора клиента OAuth».

Создание учетной записи - Идентификатора клиента OAuth

Тип: веб-приложение, в «URI перенаправление» нужно указать адрес вашего PHP скрипта-обработчика, например https://example.com/login_google.php .

Создание учетной записи - Идентификатора клиента OAuth

После этого получим индификатор клиента и ключ.

Индификатор клиента и ключ Google OAuth

Ссылка для входа

Сформируем ссылку для авторизации пользователя:

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

Авторизация через Google

Код скрипта

После подтверждения запроса, будет выполнен редирект на указанный PHP-скрипт, в GET-параметр добавится код авторизации, меняем его на токен и получаем данные пользователя.

Создание страницы авторизации с помощью Google OAuth API

Создание страницы авторизации с помощью Google OAuth API

От автора: в этой статье я собираюсь объяснить, как интегрировать авторизацию Google на ваш сайт на PHP. Мы будем использовать Google OAuth API, который является простым и мощным способом добавить вход через Google на ваш сайт.

Как веб-пользователь, вы, вероятно, испытывали трудности с управлением различными учетными записями для разных сайтов, в частности, когда у вас есть несколько паролей для разных сервисов, и веб-сайт просит вас создать еще одну учетную запись на их сайте.

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

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

Как работает авторизация Google

Во-первых, давайте разберемся, как работает авторизация через Google на вашем сайте.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

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

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

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

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

На этом этапе пользователь вошел в систему с помощью Google, а сторонний сайт имеет доступ к информации профиля пользователя, которую можно использовать для создания учетной записи и входа в систему.

Это основной процесс интеграции авторизации Google на вашем сайте. В оставшейся части поста мы реализуем этот поток входа в рабочем примере на PHP.

Настройка проекта для авторизации через Google

В этом разделе мы рассмотрим основные настройки, необходимые для интеграции авторизации через Google с вашим веб-сайтом на PHP.

Создайте проект Google API

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

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

В верхнем левом меню нажмите на ссылку «Выбрать проект». Откроется всплывающее окно, как показано на снимке экрана.

Нажмите на ссылку «Новый проект», в появившейся панели вам нужно будет ввести название проекта и другую информацию. Заполните необходимые данные, как показано в следующем снимке экрана.

Нажмите кнопку «Создать», чтобы сохранить новый проект. Вы будете перенаправлены на страницу панели инструментов. Нажмите «Учетные данные» в левой боковой панели и перейдите на вкладку настроек OAuth.

На этой странице вам нужно ввести информацию о приложении, такую как название приложения, логотип и некоторые другие данные. Заполните необходимые данные и сохраните их. Для целей тестирования достаточно просто ввести имя приложения.

Затем нажмите «Учетные данные» в левой боковой панели. Должно отобразиться поле «Учетные данные API», как показано на следующем снимке экрана.

Нажмите «Учетные данные клиента»> «Идентификатор клиента OAuth», чтобы создать новый набор учетных данных для приложения. Отобразится панель, в которой вам будет предложено выбрать нужный вариант. В нашем случае выберите опцию «Веб-приложение» и нажмите кнопку «Создать». Вам будет предложено предоставить несколько более подробную информацию.

Введите данные, показанные на снимке экрана выше, и сохраните их! Конечно, вам нужно установить URI перенаправления в соответствии с настройками вашего приложения. Это URL, по которому пользователь будет перенаправлен после входа в систему.

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

Установите клиентскую библиотеку Google PHP SDK

В этом разделе мы рассмотрим, как установить клиентскую библиотеку Google PHP API. Есть два варианта установки:

Загрузить и установить файлы библиотеки вручную.

Использовать Composer

Если вы предпочитаете установить его с помощью Composer, вам просто нужно выполнить следующую команду.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *