Войти через Google CodeIgniter: PHP-клиент OAuth API

  1. Создайте учетные данные Google OAuth
  2. Ниже приведен наш полный код с кратким объяснением:
  3. Просмотры: google_authentication.php
  4. CSS: style.css
  5. Заключение:

Google OAuth 2.0 API можно использовать для открытой аутентификации. Таким образом, мы можем получить доступ к данным пользователя с сервера после авторизации пользователя через учетную запись Google.

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

Вы можете добиться этого механизма входа в систему, используя Google API php клиент.

Для начала, сначала Скачать php-клиент Google API и сохраните его в папке библиотек вашего CodeIgniter, которую вы найдете в библиотеках ci_google_oauth> application>. Здесь ci_google_oauth - это базовая папка программного файла.

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

HTTP: // локальный / ci_google_oauth /

HTTP: // локальный / ci_google_oauth /

Создайте учетные данные Google OAuth

Перед использованием клиентской библиотеки Google PHP и Oauth 2.0 необходимо зарегистрировать свое приложение через Консоль разработчика Google.
Google OAuth API требует для вашего приложения «Идентификатор клиента», «Секрет клиента» и «Перенаправить URIS».

Если вы ищете встроенный CodeIgniter facebook и гугл логин , Тогда вы также можете попробовать несколько хороших сценариев. Просто подключи и играй сценарий.

Для этого выполните следующие шаги:

Шаг 1: Перейти к https://developers.google.com/console и войдите, используя имя пользователя или пароль существующей учетной записи Google.
Теперь у вас внизу экрана появится одно всплывающее окно, здесь напишите название вашего проекта и нажмите кнопку « Создать» .

Шаг 2: После нажатия на кнопку « Создать» появится экран ниже. Теперь перейдите к API и ссылку для авторизации .

Теперь перейдите к API и ссылку для авторизации

Шаг 3 : В этом разделе нажмите на ссылку APIs и найдите Google+ API по умолчанию выключенным для использования этого API, включите его, нажав кнопку OFF.

Шаг 3 : В этом разделе нажмите на ссылку APIs и найдите Google+ API по умолчанию выключенным для использования этого API, включите его, нажав кнопку OFF


Шаг 4. После включения Google+ API . Вы увидите это под списком включенных API .

Шаг 5: Теперь нажмите на ссылку Credentials, здесь появятся две кнопки Create new Client ID и Create new Key
Шаг 5: Теперь нажмите на ссылку Credentials, здесь появятся две кнопки Create new Client ID и Create new Key . Сначала нажмите « Создать новый идентификатор клиента».

Шаг 6: После нажатия « Создать новый идентификатор приложения» появится одно всплывающее окно
Шаг 6: После нажатия « Создать новый идентификатор приложения» появится одно всплывающее окно. Здесь вы можете выбрать тип приложения, выбрать веб-приложение и нажать « Настроить согласие» .

Шаг 7: Далее на экране «Согласие» вы можете написать название своего продукта, URL-адрес домашней страницы и логотип продукта, который будет отображаться при доступе API к данным Google
Шаг 7: Далее на экране «Согласие» вы можете написать название своего продукта, URL-адрес домашней страницы и логотип продукта, который будет отображаться при доступе API к данным Google. Затем нажмите на кнопку Сохранить

Шаг 8: В этом окне вы можете упомянуть Authorized Javascript Origins и Redirect URIS
Шаг 8: В этом окне вы можете упомянуть Authorized Javascript Origins и Redirect URIS .
Redirect URIS используется, когда Google аутентифицирует пользователя и вы хотите перенаправить пользователя по любому URL. Теперь нажмите кнопку « Создать идентификатор клиента» .

Теперь нажмите кнопку « Создать идентификатор клиента»


Шаг 9 : После отправки этой формы мы можем получить идентификатор клиента, секретный ключ и т. Д., Как показано ниже. Чтобы получить ключ API, нажмите кнопку « Создать новый ключ».

Чтобы получить ключ API, нажмите кнопку « Создать новый ключ»


Шаг 10: Когда вы нажимаете Создать новый ключ , появляется одно всплывающее окно, здесь вы можете сгенерировать ключ API для конкретной платформы. Мы используем веб-приложение, поэтому нажмите на ключ сервера .

Шаг 11: В этом окне просто нажмите кнопку Создать
Шаг 11: В этом окне просто нажмите кнопку Создать

Шаг 12 : Теперь мы наконец-то получили ИД КЛИЕНТА, СЕКРЕТ КЛИЕНТА, ПЕРЕНОСНЫЙ УРИС и КЛЮЧ API
Шаг 12 : Теперь мы наконец-то получили ИД КЛИЕНТА, СЕКРЕТ КЛИЕНТА, ПЕРЕНОСНЫЙ УРИС и КЛЮЧ API.

Шаг 12 : Теперь мы наконец-то получили ИД КЛИЕНТА, СЕКРЕТ КЛИЕНТА, ПЕРЕНОСНЫЙ УРИС и КЛЮЧ API

Скопируйте эти учетные данные и вставьте их в свой код, что объясняется ниже.

Ниже приведен наш полный код с кратким объяснением:

Контроллеры: user_authentication.php

Скопируйте приведенный ниже код в свой контроллер, так как мы используем два файла, Client.php и Oauth2.php из библиотеки (google-api-php-client-master), которые мы сохранили в папке библиотеки, запишите учетные данные Google OAuth ( ИД КЛИЕНТА, СЕКРЕТ КЛИЕНТА, НАПРАВЛЕННЫЙ URIS и КЛЮЧ API) в указанном ниже месте в коде.

&lt;? php // Начать сессию session_start (); класс User_Authentication extends CI_Controller {открытая функция __construct () {parent :: __ construct (); } public function index () {// Включить два файла из библиотеки google-php-client в контроллер include_once APPPATH. "Библиотеки / Google-апи-PHP-клиент-мастер / SRC / Google / Client.php"; include_once APPPATH. "Библиотеки / Google-апи-PHP-клиент-мастер / SRC / Google / Услуги / Oauth2.php"; // Сохраняем значения в переменных из проекта, созданного в консоли разработчика Google $ client_id = '<Generated Client Id>'; $ client_secret = '<Сгенерированный секретный ключ клиента>'; $ redirect_uri = 'http: // localhost / ci_google_oauth /'; $ simple_api_key = '<Сгенерированный сервер / ключ API>'; // Создание запроса клиента для доступа к Google API $ client = new Google_Client (); $ client-> setApplicationName («Пример входа в Google OAuth на PHP»); $ Client-> setClientId ($ client_id); $ Client-> setClientSecret ($ client_secret); $ Client-> setRedirectUri ($ redirect_uri); $ Client-> setDeveloperKey ($ simple_api_key); $ Client-> addScope ( "https://www.googleapis.com/auth/userinfo.email"); // Отправить запрос клиента $ objOAuthService = new Google_Service_Oauth2 ($ client); // Добавить токен доступа в сессию if (isset ($ _ GET ['code'])) {$ client-> authenticate ($ _ GET ['code']); $ _SESSION ['access_token'] = $ client-> getAccessToken (); заголовок ('Location:'. filter_var ($ redirect_uri, FILTER_SANITIZE_URL)); } // Установить маркер доступа для создания запроса if (isset ($ _ SESSION ['access_token']) && $ _SESSION ['access_token']) {$ client-> setAccessToken ($ _ SESSION ['access_token']); } // Получаем пользовательские данные из Google и сохраняем их в $ data if ($ client-> getAccessToken ()) {$ userData = $ objOAuthService-> userinfo-> get (); $ data ['userData'] = $ userData; $ _SESSION ['access_token'] = $ client-> getAccessToken (); } else {$ authUrl = $ client-> createAuthUrl (); $ data ['authUrl'] = $ authUrl; } // Загружаем представление и отправляем значения, хранящиеся в $ data $ this-> load-> view ('google_authentication', $ data); } // Сброс сеанса и выход из системы public function logout () {unset ($ _ SESSION ['access_token']); перенаправления (base_url ()); }}?>

Просмотры: google_authentication.php

Скопируйте приведенный ниже код и сохраните его как google_authentication.php. Эта страница содержит опцию Войти через Google . После входа Google перенаправит данные пользователя на google_authentication.php. Теперь вы можете видеть информацию о пользователе и возможность выхода из системы .

<html> <head> <link rel = "stylesheet" type = "text / css" href = "&lt;? php echo base_url ();?> css / style.css"> <link rel = "stylesheet" media = " screen and (max-width: 1200px) и (min-width: 0px) "type =" text / css "href =" &lt;? php echo base_url ();?> css / styleresponsive1.css "> <link rel =" таблица стилей "media =" и (max-width: 600px) и (min-width: 0px) "type =" text / css "href =" &lt;? php echo base_url ();?> css / styleresponsive2.css "> <link href = 'http: //fonts.googleapis.com/css? family = Source + Sans + Pro | Open + Sans + Condensed: 300 | Raleway' rel = 'stylesheet' type = 'text / css'> </ head> <body> <div id = "main"> <div id = "envelope"> &lt;? php if (isset ($ authUrl)) {?> <header id = "sign_in"> <h2> CodeIgniter Войти через Google Oauth PHP </ h2> </ header> <hr> <div id = "content"> <center> <a href="&lt;?php echo $authUrl; ?> "> <img id =" google_signin "src =" &lt;? php echo base_url ();?> images / google_login.jpg "width =" 100% "> </a> </ center> </ div> &lt;? php} else {?> <header id =" info " > <a target="_blank" class="user_name" href="&lt;?php echo $userData-> link;?> " /> <img class = "user_img" src = "&lt;? php echo $ userData-> picture; ?> "width =" 15% "/> &lt;? php echo '<p class =" welcome "> <i> Welcome! </ i>'. $ userData-> name." </ p> ";?> </a> <a class = 'logout' href = 'https: //www.google.com/accounts/Logout? continue = https: //appengine.google.com/_ah/logout? continue = &lt;? php echo base_url ();?> index.php / user_authentication / logout '> Выход из системы </a> </ header> &lt;? php echo "<p class =' ​​profile '> Профиль: - </ p>"; echo "<p > <b> Имя: </ b> ". $ userData-> данное_имя." </ p> "; echo" <p> <b> Фамилия: </ b> ". $ userData-> family_name." </ p> "; echo" <p> <b> Пол: </ b> ". $ userData-> пол." </ p> "; echo" <p> <b> Электронная почта: </ b> " . $ userData-> email. "</ p>";?> &lt;? php}?> </ div> </ div> </ body> </ html>

CSS: style.css

Стилизация элементов HTML.

body {margin: 0; обивка: 0; семейство шрифтов: raleway; background-image: url (../ images / repeat-bg.png); } #main {width: 65%; высота: 100%; поле слева: 17%; наценка сверху: 5%; положение: относительное; } h2 {font-family: raleway; } div # envelope {position: родственник; ширина: 51%; граница: 1px solid # CFCFD0; радиус границы: 10 пикселей; цвет фона: #FFFFFF; } div # content {width: 100%; обивка: 12px авто; переполнение: скрытое; разбить слово: разбить все; overflow-wrap: break-word; радиус границы: 0 0 10px 10px; } header # sign_in {font-family: raleway; цвет фона: # 079BAE; выравнивание текста: по центру; padding-top: 12px; отступ слева: 5 пикселей; padding-bottom: 8px; поле на дне: -8px; радиус границы: 10px 10px 0 0; белый цвет; } header # info {font-family: raleway; цвет фона: # 079BAE; margin-top: -11px; обивка-топ: 15px; padding-bottom: 42px; отступ слева: 15 пикселей; отступ справа: 15 пикселей; размер шрифта: 16 пикселей; радиус границы: 10px 10px 0 0; белый цвет; } header # info a.user_name {font-family: raleway; текстовое оформление: нет; белый цвет; } div.logout {padding-top: 30px; плавать: право; } a.logout {font-family: raleway; размер шрифта: 20 пикселей; вес шрифта: 600; текстовое оформление: нет; отступ справа: 0 авто; плавать: право; белый цвет; } p {padding: 0 25px; } p.profile {font-weight: bold; размер шрифта: 20 пикселей; } img.user_img {border-radius: 50% 50% 50% 50%; рамка: 3px сплошной белый; } p.welcome {margin-top: -50px; поле слева: 12%; }

Заключение:

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

Lt;?
Php echo base_url ();?
Php echo base_url ();?
Php echo base_url ();?
Com/css?
Php if (isset ($ authUrl)) {?
Php echo $authUrl; ?
Php echo base_url ();?
Php} else {?