php. Авторизация на сайте с помощью Google
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Сервис Google предоставляет возможность реализации авторизации пользователя на сайте с помощью своего API.
При прохождении авторизации в данном сервисе вы можете получить доступ к персональному идентификатору пользователя в сервисе, имени, фамилии, email, изображению и еще нескольким данным профиля.
При прохождении авторизации в данном сервисе вы можете получить доступ к персональному идентификатору пользователя в сервисе, имени, фамилии, email, изображению и еще нескольким данным профиля.
Регистрация приложения:
Зарегистрировать аккаунт в серсисе можно тут.
Создаем новый проект:
Введите название своего проекта. И введите название организации (Не обязательно). После чего нажмите кнопку "Создать" (Create).
После того, как вы создадите проект, откройте меню в верхней левой части сайта и выберите в меню пункт "APIs & Services":
Далее в выпадающем меню выбираем "OAuth consent screen".
Выбираем "Расширенный режим" (External) и нажимаем кнопку "Создать" (Create).
Заполняем все обязательные поля:
Такие как Название вашего приложения, контактного email, доменное имя вашего проекта.
Вместо "https://pacificsky.ru" необходимо указать доменное имя вашего проекта и авторизованный домен (Ваш домен, через который будет проходить авторизация). Нажимаем "Сохранить и продолжить" (Save And Continue)
После завершения регистрации возвращаемся в "Приборную панель" (Dashboard).
В боковом меню выберите пункт "Учетные данные" (Credentials). Далее "Создание учетных данных" (Create credentials) -> "OAuth client ID".
На следующем этапе необходимо указать "Тип приложения" (Application type) -> "Веб приложение" (Web application), указать OAuth имя вашего клиента и нужно указать "авторизованные URI для перенаправления" (Authorized redirect URIs)
Для примера в статье указан фейковый адрес - "https://my-site.ru/google_auth_url". Данный адрес необходимо заменить на адрес, с вызовом кода вашего кода с обработчиком.
Далее необходимо нажаьть "Создать" (Create).
После выполнения всех перечисленных шагов у вас отобразится окно с персональными OAuth клиентскими данными, среди которых вам будет доступен клиентский и секретный ключ, который будет необходим для создания скрипта обработчика и кода с генерацией ссылки авторизации в сервисе.Скрипт создания ссылки для входа:
Данный скрипт формирует ссылку для авторизации через Google сервис.
Для формирования ссылки необходимо указать свои персональные параметры, полученные после регистрации приложения.<?php $params = [ 'client_id' => 'Client_ID', // Client ID идентификатор приложения, который вы получили на прошлом шаге 'redirect_uri' => 'https://my-site.ru/google_auth_url', // Redirect URL Для веб-сервисов, который вы указали при регистрации приложения 'response_type' => 'code', // Если передаем code, то производит процедуру аутентификации 'scope' => 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile', // Области проверки 'state' => '123' // Данные, которые вы можете передать, чтобы потом получить в скрипте обработчика (Не является обязательным параметром). ]; $url = 'https://accounts.google.com/o/oauth2/auth?' . urldecode(http_build_query($params)); echo sprintf("<a href=\"%s\">Google авторизация</a>", $url);
Скрипт обработчика Redirect URL.
После того как пользователи перейдут по сформированной ссылке для входа, Google будет обращаться к URL, указанному в redirect_uri параметре - https://my-site.ru/google_auth_url (Redirect URL Для веб-сервисов, который вы указали при регистрации приложения)
Код обработчика:
Полученные данные о профиле пользователя, распечатанные в print_r:
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.