Facebook Authentication for phpbb3
發表於 : 2011-08-24 7:21 pm
今天花了一些時間,把facebook帳號註冊到論壇上
論壇上多出facebook登入
使用facebook帳號登入之後,顯示你的facebook ID
可以正常發文
可以正常私人訊息
可在我個人的網站,可以試用體驗一下這功能
Demo: http://www.et99.net
以下分享一下修改過程
步驟一.
首先到facebook註冊開發者帳號,並且建立一個app
得到 App ID 及 App Secret
本文重點在於phpbb,如何申請建立app,在此不進行說明
facebook官方有很詳細教學文件
https://developers.facebook.com/
步驟二.
下載 tool/fb.rar
解壓縮可以得到 /fb/facebook_connect.php
修改facebook_connect.php 這三行參數
$app_id = "你的App ID";
$app_secret = "你的App Secret";
$my_url = "http://你的網址/fb/facebook_connect.php";
連同目錄上傳到你的論壇
步驟三.
匯入這段SQL語法
打開 /includes/functions_user.php
find
replace
打開 /styles/prosilver/template/overall_header.html
find
after add
論壇上多出facebook登入
使用facebook帳號登入之後,顯示你的facebook ID
可以正常發文
可以正常私人訊息
可在我個人的網站,可以試用體驗一下這功能
Demo: http://www.et99.net
以下分享一下修改過程
步驟一.
首先到facebook註冊開發者帳號,並且建立一個app
得到 App ID 及 App Secret
本文重點在於phpbb,如何申請建立app,在此不進行說明
facebook官方有很詳細教學文件
https://developers.facebook.com/
步驟二.
下載 tool/fb.rar
解壓縮可以得到 /fb/facebook_connect.php
修改facebook_connect.php 這三行參數
$app_id = "你的App ID";
$app_secret = "你的App Secret";
$my_url = "http://你的網址/fb/facebook_connect.php";
連同目錄上傳到你的論壇
步驟三.
匯入這段SQL語法
- 代碼: 選擇全部
DROP TABLE IF EXISTS `phpbb_sns_player`;
CREATE TABLE `phpbb_sns_player` (
`id` int(10) unsigned NOT NULL auto_increment,
`sns_id` varchar(100) collate utf8_unicode_ci NOT NULL default '',
`user_id` int(11) unsigned NOT NULL default '0',
`user_name` varchar(64) collate utf8_unicode_ci NOT NULL,
`type` tinyint(4) unsigned NOT NULL default '0',
`datetime` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `sns_id` (`sns_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1177 ;
打開 /includes/functions_user.php
find
- 代碼: 選擇全部
$table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, FORUMS_TRACK_TABLE, PROFILE_FIELDS_DATA_TABLE, MODERATOR_CACHE_TABLE, DRAFTS_TABLE, BOOKMARKS_TABLE, SESSIONS_KEYS_TABLE, PRIVMSGS_FOLDER_TABLE, PRIVMSGS_RULES_TABLE);
replace
- 代碼: 選擇全部
$table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, FORUMS_TRACK_TABLE, PROFILE_FIELDS_DATA_TABLE, MODERATOR_CACHE_TABLE, DRAFTS_TABLE, BOOKMARKS_TABLE, SESSIONS_KEYS_TABLE, PRIVMSGS_FOLDER_TABLE, PRIVMSGS_RULES_TABLE,"phpbb_sns_player");
打開 /styles/prosilver/template/overall_header.html
find
- 代碼: 選擇全部
<li class="icon-logout"><a href="{U_LOGIN_LOGOUT}" title="{L_LOGIN_LOGOUT}" accesskey="x">{L_LOGIN_LOGOUT}</a></li>
after add
- 代碼: 選擇全部
<!-- IF not S_USER_LOGGED_IN and S_REGISTER_ENABLED and not (S_SHOW_COPPA or S_REGISTRATION) --><li class="icon-logout"><a href="https://www.facebook.com/dialog/oauth?client_id=你的APPID&scope=email,publish_stream&redirect_uri=http://你的論壇網址/fb/facebook_connect.php" >facebook登入</a> </li><!-- ENDIF -->