2010-02-15 103 views
35

我想爲我的Django網站實現Facebook連接登錄,並且已經檢查了現有的應用程序。Django Facebook Connect應用程序推薦

到目前爲止,爲此已經找到了Django-Socialauthdjango-socialregistrationdjango-facebookconnect

問題是選擇哪一個,我想聽聽其他有這些應用程序經驗的開發人員。

對於我來說,Facebook Connect登錄應用程序與@login_required,默認授權系統以及django註冊配合很好。

請分享您的經驗:)

回答

29

更新(11/26/2013):我正在更新我的建議。自從我寫了這個答案以來已經有足夠的時間了,我會推薦python-social-authdjango-allauth作爲這項工作的最佳工具。他們是活躍的項目,不僅僅是Facebook,還有很多文檔和支持。我已經成功使用兩者。


我有最幸運與django-registration(0.8)適應django-socialregistration。由於你正在使用django-registration,你將不得不做一些工作,因爲所有這三個包都承擔了用戶創建和認證的角色。

我只是想解釋需要做什麼,但你激勵我終於把我的版本拿出來:hello-social-registration

就像我提到的那樣,它將註冊函數賦予一個django註冊後端,並處理所有授權本身。我已經在我的近beta測試版應用程序中使用了這段代碼,現在沒有任何問題(我還將它交給了幾個月前使用的朋友,並且沒有太多修改就讓它工作)。

這是絕對尚未準備好成爲即插即用的可重用應用程序,但希望它能爲您提供一些見解。 :)

+0

看起來不錯Bryan!我也開始使用socialregistration,它的工作很好。我想知道如何檢索使用FB連接連接到站點的用戶的名字和姓氏(從視圖) 我需要這個,因爲我將在設置視圖中檢索他們的名字和姓氏,並填寫在保存用戶的同時,他們的django帳戶的常規名字和姓氏字段。謝謝! – Hellnar 2010-02-22 13:41:14

+0

我還沒有那麼深入,也許我應該嘗試下一步。 :)但是你要找的東西可以在這裏找到:http://code.google.com/p/django-facebookconnect/source/browse/trunk/django-facebookconnect/facebookconnect/models.py#130 – 2010-02-22 20:30:12

+0

鏈接是破碎,項目似乎已經死了? – amrox 2011-07-12 00:27:07

1

嗨看看fbconnect的應用程序,我們(實際上,Hernani的,我們隊上的人)放在一起osqa(CNPROG的克隆)。

你可能需要修補一下,以適應你的需求。它確實與@login_required裝飾者和標準django.contrib.auth系統一起使用,但我們不使用django-registration

我們的應用程序也可以使用openid和密碼登錄,但openid部分與目前的Q &組件緊密耦合。

我們可能會在未來一段時間將其分開,如果任何人可能對「任何事宜 - 登錄」django可插件應用程序感興趣或者已經有更好的東西 - 請告訴我們。

-2

我玩基於.NET的庫,發現它們令人沮喪地過時。 Facebook似乎經常改變他們的API,所以如果你找不到一個經常維護的庫,你會發現在你意識到存在嚴重問題之前你會得到一半的實現。

我在Facebook發佈和維護的JavaScript API方面取得了一些成功。雖然文檔可能並不總是最新的,但我發現我總是在正確實現的距離內(需要一兩個更改)。

3

我想在我的Django應用程序中實現基本的「使用Facebook登錄」功能。我不想讓用戶填寫表格或讓她選擇密碼。我傾向於使其無縫。

根據我的要求,django_facebook_oauth是我最好的應用程序。它只是允許用戶使用Facebook登錄,並從我的Facebook應用程序請求中獲取用戶信息(基於我的Facebook身份驗證對話框)。它使用用戶的Facebook電子郵件,用戶名和空白密碼在Django中創建一個新用戶。

我強烈推薦它。

0

我在兩個不同的項目中使用了django-allauth和django-facebook。

django-allauth很棒,爲登錄和創建用戶配置文件提供了很好的支持。它也可以與我沒有實現的其他auth提供者一起工作。

django-facebook開箱即用,但它只與Facebook兼容。它還提供了簡單的API,用於將用戶的喜好和Facebook上的朋友直接導入數據庫,我非常喜歡它!

facebook.get_and_store_likes(user) 
facebook.get_and_store_friends(user)