第三方登入 for phpbb3

MODs Released by Other phpbb Sites
歡迎推薦非官方認證外掛,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群譯文組

版面規則
所謂「非官方認證外掛」是指未經官方認證,發表在 [3.0.x] MODs in Development 版面的外掛。

為了維護推薦外掛之品質,自即日起,如果要在這個版面推薦外掛,那麼請遵守底下格式,謝謝合作!

發文格式:
  • 外掛名稱:(原文/中文化名稱)
  • 外掛作者:(原文)
  • 外掛描述:(原文/中文化描述)
  • 外掛版本:(原文)
  • 外掛下載:(連結位址)
  • 資料來源:(連結位址)
    --
  • 中文化分享:(若外掛無須修改語言檔、或無須上傳語言檔,則免之。)
    --
  • 使用後心得:(簡單陳述您的安裝經驗、使用心得、或其他注意事項。)


p.s.
這個版面之發文,需經版主審核。
主題已鎖定
ETERNAL
星球公民
星球公民
文章: 297
註冊時間: 2002-01-23 11:23

第三方登入 for phpbb3

文章 ETERNAL »

•外掛名稱:第三方登入 for phpbb3
•外掛作者:ETERNAL
•外掛描述:讓論壇支援Facebook、MSN、Google、Yahoo帳號登入
•外掛版本:1.0
•外掛下載:請參考下面說明
•資料來源:http://www.et99.net/for-phpbb3-t50166.html

今天花了些時間,修改這支外掛 http://www.et99.net/facebook-authentica ... 49994.html
把MSN、Google、Yahoo的登入,也加入到phpbb3內
只要你在Facebook、MSN、Google、Yahoo任一個網站有帳號的話,可以直接登入phpbb3論壇
1.png
1.png (6.9 KiB) 已瀏覽 22316 次
第一次登入時,會要求會員輸入暱稱,之後在論壇顯示該暱稱
2.png
2.png (8.5 KiB) 已瀏覽 22316 次
登入正常
3.png
3.png (5.41 KiB) 已瀏覽 22316 次
發言正常
4.png
4.png (9.65 KiB) 已瀏覽 22316 次
私人訊息正常,所有功能與正常會員相同
5.png
可在我個人的網站,可以試用體驗一下這功能
Demo: http://www.et99.net


以下分享一下修改過程

步驟一. (若不使用facebook登入,可以跳過此步驟)
首先到facebook註冊開發者帳號,並且建立一個app
得到 App ID 及 App Secret

本文重點在於phpbb,如何申請建立app,在此不進行說明
facebook官方有很詳細教學文件
https://developers.facebook.com/

步驟二. (若不使用MSN登入,可以跳過此步驟)
首先到Windows Live註冊開發者帳號,並且建立一個app
得到 Client ID 及 Client secret

本文重點在於phpbb,如何申請建立app,在此不進行說明
Windows Live官方有很詳細教學文件
http://msdn.microsoft.com/zh-tw/windowslive

步驟三. (若不使用Google登入,可以跳過此步驟)
首先到 https://www.google.com/accounts/ManageDomains 註冊你的網址,證明你是這個網站的管理者

這邊是使用openid來取得帳號
Google官方有很詳細教學文件 http://code.google.com/intl/zh-TW/apis/ ... penID.html
有興趣的人可以研究

步驟四. (若不使用Yahoo登入,可以跳過此步驟)
先申請YDN開發者,然後在這網址 https://developer.apps.yahoo.com/manage 註冊你的網址,證明你是這個網站的管理者

這邊是使用openid來取得帳號
Yahoo官方有很詳細教學文件 http://developer.yahoo.com/openid/
有興趣的人可以研究

步驟五.
下載 http://www.et99.net/tool/auth.rar
解壓縮可以得到
/auth/auth.php
/auth/function_sns.php
/styles/prosilver/template/sns_register.html

修改 auth.php 文件

$key是做為md5加密驗證用,務必修改,內容自行隨意定義

代碼: 選擇全部

$AuthUrl = 'http://你的網址/auth/auth.php';
$RealmUrl = 'http://你的網址/';
$PolicyUrl = 'http://你的網址/';
$key="請輸入自定義密鑰"; 
若無使用facebook登入,可跳過這兩行修改

代碼: 選擇全部

$app_id = "在facebook申請的App ID";
$app_secret = "在facebook申請的App Secret";
若無使用msn登入,可跳過這兩行修改

代碼: 選擇全部

$app_id = "在Windows Live申請的Client ID";
$app_secret = "在Windows Live申請的Client secret";
連同目錄上傳到你的論壇,把上面三個文件上傳至論壇根目錄

步驟六.
匯入這段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="http://你的論壇網址/auth/auth.php?AuthType=facebook" >Facebook登入</a> </li>
<li class="icon-logout"><a href="http://你的論壇網址/auth/auth.php?AuthType=msn" >MSN登入</a> </li>
<li class="icon-logout"><a href="http://你的論壇網址/auth/auth.php?AuthType=Google" >Facebook登入</a> </li>
<li class="icon-logout"><a href="http://你的論壇網址/auth/auth.php?AuthType=Yahoo" >Facebook登入</a> </li>
<!-- ENDIF -->
overall_header.html 請根據自己需求修改

最後補充一些話:
facebook yahoo msn google 都有提供額外功能
例如取得用戶聯絡人,發塗鴉牆,取得用戶相簿,向在線用戶發訊息等等
可利用此外掛向用戶取得權限,使這些功能結合到論壇上
這些功能是雙面刃,希望使用這外掛的開發者,向用戶取得授權時,應保護用戶隱私,不要濫用
例如:
對用戶的好友發垃圾訊息 、 洗塗鴉牆 之類
水色論壇 http://www.et99.net
簡德賢分享
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: 第三方登入 for phpbb3

文章 心靈捕手 »

感謝您的分享! :-D

替您發表「[討論] 第三方登入 for phpbb3」,請勿見怪!
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「[3.0.x] 非官方認證外掛」