Аутентифікація через google

Якщо хто пропустив попередні частини, то їх можна знайти тут:

Аутентифікація через google

Замітка. Приклад, створений в даному уроці, призначений для роботи на локальному сервері.

Крок 1. Реєстрація нового додатка

Для початку нам необхідно створити новий додаток на сайті Google Console.

У меню, розташованому ліворуч, вибираємо пункт "API Access". На сторінці натискаємо на велику синю кнопку "Create an OAuth 2.0 client ID.".

Аутентифікація через google

Далі нам потрібно прописати назву нашого застосування:

Аутентифікація через google

Product name буде "Google Auth". Далі натискаємо "Next".

Після цього приступаємо до більш детальної налаштування програми:

Аутентифікація через google

Далі, всю потрібну для аутентифікації інформацію можемо знайти на тій же сторінці в Google Console:

Запишемо потрібні нам дані в файл index.php:

Крок 2. Генерація посилання для аутентифікації

Крок 3. Отримання токена

Починати процедуру аутентифікації ми можемо в тому випадку, якщо до нас прийшов параметр code. Він нам потрібен для того, щоб отримати спеціальний токен доступу, за допомогою якого, в подальшому, ми дістанемо інформацію про користувача.

В першу чергу, знову сформуємо параметри для цього запиту. Нам буде потрібно передати параметри: `client_id` - id додатки; `Client_secret` - секретний ключ; `Redirect_uri` - сторінка, на яку буде повернений користувач; `Grand_type`, що дорівнює значенню" authorization_code "- код активації; `Code` - url параметр, який прийшов від Google:

В результаті, при успішному виконанні запиту в змінну $ tokenInfo буде записана відповідь від Google в JSON форматі. Цей рядок містить 4 параметра: access_token. який ми будемо використовувати в наступних запитах для добування інформації про користувача; token_type - тип токена; expires_in - час життя токена; id_token - id токена:

Для того щоб ми далі могли працювати з даними параметрами, декодуємо JSON рядок за допомогою функції json_decode і поміщаємо дані в масив, передавши в якості другого аргументу true.

Крок 4. Отримання інформації про користувача

Далі робимо запит до Google API для отримання інформації про користувача. Для цього до параметрів, які ми сформували на попередньому кроці, додамо ще один - access_token:

В результаті, якщо все було зроблено правильно, то отримаємо JSON відповідь приблизно такого вигляду:

Крок 5. Витяг інформації про користувача

Крок 6. І знову справа за вами

Після цього все, що нам залишилося зробити, так це створити сесію і помістити в неї інформацію про наш користувача.

На сторінці виходу з системи просто видаляємо сесію за допомогою функції unset.

Усе. Нам залишилося розібрати процес аутентифікації через Facebook, і далі ми розглянемо загальний приклад з прікруткой до БД.

5 останніх уроків рубрики "PHP"

Коли мова йде про безпеку веб-сайту, то фраза "фільтруйте все, екрануйте все" завжди буде актуальна. Сьогодні поговоримо про фільтрації даних.

  • Expressive 2 підтримує можливість підключення інших ZF компонент за спеціальною схемою. Не всім подобається це рішення. У цій статті ми розповімо як поліпшили процес підключення декількох модулів.

  • Припустимо, що вам необхідно відправити якусь інформацію в Google Analytics з серверного скрипта. Як це зробити. Відповідь в цій замітці.

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

    Аутентифікація через google

    За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

    Аутентифікація через google

    Аутентифікація через google

    Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

    Аутентифікація через google

    Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.

    Аутентифікація через google

    Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!

    Схожі статті