F
acebook和Twitter在社交网络世界中变得越来越大,两个网络都提供oAuth支持。
我们开发了一个用Twitter和Facebook登录的系统。
如今网页用户对填写大型注册表不感兴趣。
此脚本可帮助您避免注册表单,它非常有用且易于集成。
数据库
示例数据库
用户
表列id,email,oauth_uid,oauth_provider和
username.
CREATE TABLE
users
(
id
INT
PRIMARY KEY
AUTO_INCREMENT
,
email
VARCHAR(70),
oauth_uid
VARCHAR(200),
oauth_provider
VARCHAR(200),
username
VARCHAR(100),
twitter_oauth_token
VARCHAR(200),
twitter_oauth_token_secret
VARCHAR(200)
);
该教程包含三个名为
facebook
,
twitter
和
config的
文件夹
,
其中包含
PHP文件。
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
设置
您必须
创建一个应用程序
。
Facebook将为您提供
app id
和
app secret id
,只需修改以下代码
fgconfig.php
<?php
define('APP_ID', 'Facebook APP ID');
define('APP_SECRET', 'Facebook Secret ID');
?>
Twitter
设置
创建一个Twitter应用程序
点击这里
。
有些像Facebook Twitter使用这些修改以下代码为您提供消费者密钥amd消费者密钥。
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
', 'username');
define
('
DB_PASSWORD
', 'password');
define
('
DB_DATABASE
', 'database');
$db =
mysqli_connect
(
DB_SERVER
,
DB_USERNAME
,
DB_PASSWORD
,
DB_DATABASE
);
?>
login-twitter.php
在根目录中,在
login-twitter.php
代码中
找到以下行
并替换您的
网站
。
$request_token = $twitteroauth
->
getRequestToken('http://
yourwebsite.com
/getTwitterData.php');
index.php
如果要修改Web项目现有的登录页面或索引页面,只需使用以下代码即可。
<?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>
如有任何疑问请在此处评论。
谢谢,