Авторизация посредством Google+ OAuth

Пару дней назад Google+ представили новое приложение интерфейса программирования OAuth. На данный момент приложение предоставляет только возможность работы с активностью пользователей и данными кругов. Мы разработали простенькую систему авторизации. Попробуйте! Чем-то похоже на систему авторизации Twitter. Надеемся, что в будущем Google+ предоставят нам гораздо больше опций.
Авторизация посредством Google+ OAuth


Скачать скрипт | Посмотреть демо
Внимание! У Вас нет прав для просмотра скрытого текста.


Шаг 1

Добавьте или зарегистрируйте свой домен и кликните здесь.

Шаг 2

Подтвердите то, что вы владеете доменом посредством загрузки HTML-файла или внедрения мета-тега.

Шаг 3

Google предоставит вам код клиента OAuth, а также секретный код.

Шаг 4

Создайте ID клиента в OAuth Console.

Шаг 5

Создайте ID клиента.

Шаг 6

Здесь у нас ID клиента в приложении OAuth, а также секретный код клиента.

Config.php

Здесь вам нужно настроить ключи приложения OAuth, а также ключи клиента.
// OAuth2 Settings, you can get these keys at https://code.google.com/apis/console Step 6 keys 'oauth2_client_id' => 'App Client ID','oauth2_client_secret' => 'App Client Secret','oauth2_redirect_uri' => 'http://yoursite.com/gplus/index.php',// OAuth1 Settings Step 3  keys.'oauth_consumer_key' => 'OAuth Consumer Key','oauth_consumer_secret' => 'OAuth Consumer Secret',


gplus_login.php

Система авторизации Google+.
<?phprequire_once 'src/apiClient.php';require_once 'src/contrib/apiPlusService.php';session_start();$client = new apiClient();$client->setApplicationName("9lessons Google+ Login Application");$client->setScopes(array('https://www.googleapis.com/auth/plus.me'));$plus = new apiPlusService($client);if (isset($_REQUEST['logout'])){unset($_SESSION['access_token']);}if (isset($_GET['code'])){$client->authenticate();$_SESSION['access_token'] = $client->getAccessToken();header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);}if (isset($_SESSION['access_token'])){$client->setAccessToken($_SESSION['access_token']);}if ($client->getAccessToken()){$me = $plus->people->get('me');$_SESSION['access_token'] = $client->getAccessToken();}else$authUrl = $client->createAuthUrl();if(isset($me)){$_SESSION['gplusdata']=$me;header("location: home.php");}if(isset($authUrl))print "<a class='login' href='$authUrl'>Google Plus Login </a>";elseprint "<a class='logout' href='index.php?logout'>Logout</a>";?>


Home.php
Содержит PHP-код, который вносит данные о сессии Google+ в таблицу пользователей.
<?phpsession_start();if (!isset($_SESSION['gplusdata'])){// Redirection to home pageheader("location: index.php");}else{$me=$_SESSION['gplusdata'];echo "<img src='$me['image']['url']; ' />";echo "Name: $me['displayName']; ";echo "Gplus Id:  $me['id']";echo "Male: $me['gender']";echo "Relationship: $me['relationshipStatus']";echo "Location: $me['placesLived'][0]['value']";echo "Tagline: $me['tagline'];print "<a class='logout' href='index.php?logout'>Logout</a> ";}?>
Ключевые Теги: OAuth Google Plus авторизация
+ +10 -

Комментариев 1

  1. Офлайн
    BugZ 13 ноября 2011 14:39
    + 0 -
    Надо в Dle встроить. Удобно будет.
    Можно конечно на сайт DISQUS для комментариев поставить. В Dle он не сложно интегрируется, а там уже есть Google OAuth и скорее всего Google+ OAuth будет добавлен вскоре... Но это немного не то.
Информация
Комментировать статьи на сайте возможно только в течении 90 дней со дня публикации.
  • Top.Mail.Ru