2014-11-14 468 views
0

我正在考慮將社交登錄方法集成到我的網站。當然,我的第一個將是Facebook登錄之前,繼續前進。Facebook登錄 - JavaScript或PHP SDK

基本上我的問題是:哪種語言最適合這種類型的OAuth連接,哪種語言能讓我做我想做的一切?

這將包含所有最終的OAuth連接,但現在特別包括Facebook。

從我所閱讀的文檔中,JavaScript SDK允許您登錄並連接到開放圖形API - 這反過來又允許我發佈/上傳等等。這也可以在PHP中獲得。

從經驗來看,這是更持久的路線嗎?

PHP或JavaScript

回答

2

最好的和推薦的方式來授權用戶是JavaScript SDK(FB.login)。 不需要重定向(更好的可用性),非常容易處理,不需要PHP(新的PHP SDK需要PHP 5.4+)。僅將PHP用於涉及使用App Secret或擴展訪問令牌的內容。顯然,對於cron工作。你甚至可以忘記PHP SDK並使用你自己的CURL調用。

順便說一句,安全沒問題,你應該在應用程序設置中激活「appsecret_proof」。

更多有關appsecret_proof

一個原因(也是最重要的問題之一)是可能性刷新訪問令牌(=用戶會話)通過使用FB.getLoginStatus很容易沒有頁面刷新

另一個原因是您需要自行升級到新的PHP SDK版本。 JavaScript SDK不需要任何升級,在幾年內您只需更改一個或兩個參數,就可以從Facebook服務器下載SDK。

此外,如果您添加社交插件,則無論如何您都需要JavaScript SDK。

0

TL; DR PHP /兩

我真的建議PHP。您需要將登錄信息存儲在數據庫中。如果你通過JS來完成,你需要對服務器進行一次Ajax調用,這並不安全。

話雖如此,它們是針對不同的用途。 JS用於前端,PHP用於後端(數據庫存儲,檢查,實際站點登錄等)。使用JS可以讓你隨時生成按鈕,而使用PHP則需要做更多的編碼。

其他人,PHP庫將不時更新,你需要在測試後保持。 JS也是,但它更容易,因爲代碼通常起作用。

如果您只需要一個,請使用PHP。你可以控制代碼的功能,JS不會因爲你寫的東西而破壞你的網站。不過,我建議同時使用,因爲你可能需要的不僅僅是簡單的登錄更

編輯: 如Facebook狀態,使用PHP SDK:通常這意味着你用PHP開發一個Facebook應用程序畫布,建設您自己的網站將服務器端功能添加到已經使用JavaScript SDK for JavaScript的應用程序中。

https://developers.facebook.com/docs/reference/php/4.0.0

+0

因此,你建議建立我自己的PHP/JavaScript混合?所以按鈕的工作原理與JavaScript版本相同,但我使用PHP SDK並提供自己的回調? – JustSteveKing 2014-11-14 12:32:29

+0

這很大程度上取決於你想要做什麼。如果您只需要登錄,請拿起php sdk。如果你想要更多,請使用兩者。 – heXer 2014-11-14 12:33:04

+0

如果您不想使用特定的用戶體驗,那麼使用PHP sdk就不必對JS執行任何操作。你可以這樣做:1)生成登錄按鈕。 2)點擊時,頁面重定向到Facebook 3)登錄時,使用參數$ _GET重定向到您的網站,4)SDK將讀取並告訴您。 5)如果您只需要登錄,則使用您自己的系統 – heXer 2014-11-14 12:36:07

0

的最佳途徑是使用兩者一起。有些用戶可能已禁用JavaScript,或者您可能會在JavaScript代碼中執行某些操作,這些操作在某些瀏覽器上無法使用。所以作爲回退方法,您可以使用php api。

僅使用php就可以實現,無論用戶客戶端是什麼,都可以工作,但您可以使用JavaScript更好地實現用戶體驗。

儘管如此,在大多數情況下,你最終不得不使用兩者。

0

我剛剛度過了一個下午使用JavaScript SDK打Facebook的,我必須承認,我想這將是我需要什麼的最佳選擇

如果其他人正在閱讀本文,它可能不適合你 - 但隨着我的應用程序的構建方式,我認爲它是一個完美的選擇。 這是爲什麼:

我的標準登錄系統使用的JavaScript 搶我的表單數據,然後對其進行驗證,然後通過AJAX經過驗證的數據到PHP驗證腳本。這反過來返回JSON響應原來的AJAX調用。如果我的電話回來了"ok" : true,那麼我們基本上就很好。

facebook JavaScript SDK的工作方式幾乎是一個完美的小拼圖遊戲,可以連接到我正在使用的系統上。我所需要的只是一些配置文件數據,然後在我的系統上保存此用戶的記錄。這是由Facebook提供,然後由我自己驗證。

但是,其他社交網絡登錄可能不如facebook API那麼好用,所以我最終可能在整個系統上改變主意。 現在只需要使用Facebook,我認爲JavaScript SDK絕對有用,因爲它只是獲取信息供您在網站上運行自己的驗證。 正如我所說的這是一個完美契合爲我的系統但它可能不適合你的。