簡體   English   中英

Facebook登錄-JavaScript或PHP SDK

[英]Facebook Login - JavaScript or PHP SDK

我正處於將社交登錄方法集成到我的網站的階段。 當然,在繼續之前,我的第一個將是Facebook登錄

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

最終,這將最終包括所有OAuth連接,但現在將具體包括Facebook。

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

根據經驗,哪條路更持久?

PHP或JAVASCRIPT

授權用戶的最佳方法是JavaScript SDK( FB.login )。 無需重定向(更好的可用性),非常易於處理,不需要PHP(新的PHP SDK需要PHP 5.4+) 僅將PHP用於涉及使用應用程序秘密或擴展訪問令牌的內容。 顯然,對於cron工作。 您甚至可以忘記PHP SDK,而使用自己的CURL調用。

順便說一句, 安全性沒問題 ,您只需在“應用程序設置”中激活“ appsecret_proof ”。

有關appsecret_proof更多信息:

另一個原因(也是最重要的原因之一)是可以使用FB.getLoginStatus 輕松刷新訪問令牌(= User Sessions),而無需刷新頁面

另一個原因是,您需要自己升級到新的PHP SDK版本。 JavaScript SDK不需要任何升級,在過去的幾年中,在某些情況下,您只需要更改一個或兩個參數即可從Facebook服務器下載SDK。

另外,如果添加社交插件,則仍然需要JavaScript SDK。

TL; DR PHP /兩者

我真的會推薦PHP。 您需要將登錄名存儲在數據庫中。 如果通過JS進行操作,則需要對服務器進行Ajax調用,但這並不是那么安全。

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

除此之外,php庫會不時更新,您需要在測試后跟上。 JS也可以,但是更容易,因為代碼通常可以正常工作。

如果只想要一個,請使用PHP。 您可以控制代碼的作用,並且JS不會破壞您的網站,因為它是由您編寫的。 但是,我建議您同時使用這兩種方法,因為您可能不僅僅希望簡單登錄

編輯:正如Facebook所述,使用PHP SDK:通常,這意味着您正在使用PHP開發Facebook Canvas應用程序, 構建自己的網站已經使用JavaScript for Facebook SDK的應用程序添加服務器端功能

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

最好的方法是同時使用兩者。 某些用戶可能禁用了javascript,或者您可能在javascript代碼中執行了某些瀏覽器無法使用的操作。 因此,作為后備方法,您可以使用php API。

僅使用php會很可靠,並且不管用戶客戶端是什么都可以使用,但是使用javascript可以使用戶體驗更好。

不過,在大多數情況下,您最終將不得不同時使用兩者。

我剛剛花了一個下午玩Facebook的JavaScript SDK,我不得不承認我認為這將是滿足我需求的最佳選擇。

如果其他人正在閱讀此書,那么它可能對您來說並不完美-但以我的應用程序的構建方式,我認為它非常適合。 這就是為什么:

我的標准登錄系統使用JavaScript來獲取我的表單數據,然后進行驗證,然后將其通過AJAX傳遞給PHP驗證腳本。 依次返回對原始AJAX調用的JSON響應。 如果我的電話返回"ok" : true那么我們基本上可以進行。

facebook JavaScript SDK的工作方式幾乎是一個完美的小拼圖,可將其附加到我正在使用的系統上。 我只需要一點個人資料數據,然后在我的系統上保留此用戶的記錄。 這是由facebook提供的,然后由我自己驗證。

但是,其他社交網絡登錄可能不如facebook API那樣好用和簡單,因此我最終可能會改變整個系統的想法。 就目前而言,僅使用facebook,我認為JavaScript SDK絕對是正確的,因為它僅獲取信息供您通過自己的現場驗證運行。 正如我說的那樣,這非常適合我的系統,但是可能不適合您的系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM