我想整合我現有的PHP網站與Facebook登錄功能。我目前有一個簡單的登錄註冊用戶名,密碼和電子郵件進行激活,他們的詳細信息存儲在MYSQL數據庫中。我想爲Facebook用戶添加額外的登錄訪問權限。我很擔心我將如何將我當前的登錄訪問與新的Facebook訪問進行整合。我的想法是我的所有頁面都需要用戶登錄,我使用cookie來存儲會話變量,比如我用來在網頁上構建內容的暱稱。Facebook集成在PHP網站
我很困惑我在網絡上研究的許多方法,有些現在已經過時了,而其他的方法似乎是一半的解決方案。這三個不斷重複出現。
A)Login.php,Register.php和fbReg.php 使用fb login/register創建會話並將身份驗證傳遞給fbReg.php時,login.php和register.php出現,但它只是頁面重定向後,在那裏停留在空白屏幕上。
(從Register.php片段)
<script type="text/javascript">
FB.init({appId: '<?php echo $fb_app_id; ?>', status: true,
cookie: true, xfbml: true});
<?php
if ($errors == 0) {
?>
$('#form_hidden').hide();
<?php } else { ?>
checkInput('username');
checkInput('email');
checkInput('lastname');
checkInput('firstname');
checkInput('password');
checkInput('password2');
<?php } ?>
</script>
B)傳統連接驗證 http://developers.facebook.com/docs/authentication/connect_auth/ 使用我構建了一些測試腳本上面的鏈接只是爲了看看如果驗證是可行的。幸運的是,在我的網站上,我擁有第三方廣告或網頁框,但按照步驟從我的主登錄頁面構建interstitial_page和重定向頁面。但是我不斷收到一個空會話。
(從PHP登錄頁面片斷)
$api_key = "YOUR_API_KEY";
$interstitial_page = "YOUR_SECURE_URL"; //URL with no 3rd party apps
$url='http://www.facebook.com/login.php?api_key=' . $api_key
. '&session_version=3&next=' . urlencode($interstitial_page)
. '&v=1.0&return_session=1&fbconnect=1'
. '&cancel_url=' . urlencode($interstitial_page);
echo "Welcome to the Old Auth flow";
echo "<p>";
echo("<a href='" . $url . "'>"
. "<img src='http://static.ak.facebook.com/images/"
. "devsite/facebook_login.gif'></a>");
C)的OAuth 2.0協議 http://developers.facebook.com/docs/authentication/ 當我使用這個再次使用下面的腳本:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL
我曾嘗試和失敗,使用它來捕獲我的新facebook用戶的用戶信息並將其存儲到MySQL數據庫,然後將這個經過身份驗證的Facebook訪問與'正常'網絡訪問用戶會話集成,因爲它已關聯會話vari用於用戶體驗的ables。
任何幫助將不勝感激,即時通訊掙扎。
感謝邁克爾
我得到了一個空白屏幕上fbReg.php
感謝您的回答。我正在使用擴展插件進行社交插件。一個簡單的登錄按鈕,註冊和身份驗證。我的網站已經這樣做了,但我想通過Facebook身份驗證添加Facebook新用戶註冊和常規用戶訪問。我在facebook dev網站或更廣泛的網站上看到的任何內容都似乎給了我一個清晰的想法,即我需要在Facebook訪問我現有的PHP文件時開始構建。 –
https://developers.facebook.com/docs/reference/plugins/login/登錄就在那裏,認證將被這個插件自動使用。您可以使用i-frame進行註冊,因爲沒有API來註冊新用戶。這iframe可以去註冊所在的主頁 – nmagerko
謝謝你的建議,但我不認爲你完全理解我的要求。讓我解釋。我希望之前從未使用過我的網絡應用程序的Facebook用戶能夠註冊我的MYSQL數據庫,並獲得'正常'用戶的所有屬性,包括'網站'會話而不是Facebook會話。所有新的OAuth 2.0插件登錄/註冊/身份驗證都很容易設置,但很難集成到我現有的網站中,因爲我想獲取用戶信息並將其保存到我的MYSQL用戶數據庫併爲用戶創建會話cookie變量所述用戶信息。遺留的東西現在不工作。 –