Новые уроки
Получай новые уроки по RSS

Подписка на рассылку


Голосование
Чего выкладывать больше?
Программ
Уроков
Скриптов
Шаблонов
Макетов
CMS
Видеоуроков
Облако тегов

PHP → Авторизация с Facebook и Twitter

Авторизация с Facebook и Twitter


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

Демо: смотреть
Скачать: login_twitbook.zip [28,1 Kb] (cкачиваний: 1319)



База данных
Пример столбца таблицы базы данных пользователей id, email, oauth_uid, oauth_provider и username (имя пользователя).
CREATE TABLE users
(
id INT PRIMARY KEY AUTO_INCREMENT,
email VARCHAR(70),
oauth_uid int(11),
oauth_provider VARCHAR(100),
username VARCHAR(100)
);


Наш скрипт содержит три папки под названием Facebook, Twitter и папку конфигурационных файлов.

facebook //Facebook OAUTH library
twitter //Twitter OAUTH library
config
-- functions.php
-- dbconfig.php //Database connection
-- fbconfig.php //Facebook API connection
-- twconfig.php //Twitter API connection
index.php
home.php
login-twitter.php
login-facebook.php
getTwitterData.php


Facebook Установка
Вы должны создать приложение. И заменить app id и app secret id на свой.

fcconfig.php
<?php
define('APP_ID', 'Facebook APP ID');
define('APP_SECRET', 'Facebook Secret ID');
?>


Twitter Установка
Вы должны создать приложение. Чтобы создать нажмите здесь. Сдесь как и в фейсбуке нужно заменить на свои данные.

twconfig.php
<?php
define('YOUR_CONSUMER_KEY', 'Twitter Key');
define('YOUR_CONSUMER_SECRET', 'Twitter Secret Key');
?>


База данных.
Файл конфигурации dbconfig.php, пропишите свои настройки.
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'User Name');
define('DB_PASSWORD', 'Password');
define('DB_DATABASE', 'DATABASE');
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
$database = mysql_select_db(DB_DATABASE) or die(mysql_error());
?>


login-twitter.php
В корневом каталоге измените вход на ваш сайт:
$request_token = $twitteroauth->getRequestToken('http://yourwebsite.com/getTwitterData.php');

Замените урл http://yourwebsite.com

index.php
Если вы хотите изменить ваш веб-проект и сделать вход, используйте следующий код:
<?php
session_start();
if (isset($_SESSION['id'])) {
// Redirection to login page twitter or facebook
header("location: home.php");
}
if (array_key_exists("login", $_GET))
{
$oauth_provider = $_GET['oauth_provider'];
if ($oauth_provider == 'twitter')
{
header("Location: login-twitter.php");
}
else if ($oauth_provider == 'facebook')
{
header("Location: login-facebook.php");
}
}
?>
//HTML Code
<a href="?login&oauth_provider=twitter">Twitter_Login</a>
<a href="?login&oauth_provider=facebook">Facebook_Login</a>


Вот и всё. Вход готов. Наш урок окончен!
Опубликовал dimas_ua, 30-04-2011, 00:00 Комментариев: 1
 (голосов: 19)
Пишет mixas, 4 июня 2011 21:22
  • Сообщений: 0
  • Новостей: 0
все проделал, получилось, , только тепер такой вопрос, авторизовался пользователь у меня на сайте и после этого он проделал кое какие действия и теперь нужно эти действия запостить у него на твиттере, тоесть посылать вместо него посты на твиттер, не подскажите как это сделать?