Подтвердить что ты не робот

Django Facebook Connect App Рекомендация

Я хочу внедрить вход для подключения Facebook для своего сайта Django, и я проверил уже существующие приложения.

До сих пор я нашел Django-Socialauth, django-socialregistration и django-facebookconnect для этой цели.

Вопрос в том, какой из них выбрать, и я хотел бы услышать от других разработчиков, которые имеют опыт работы с любым из этих приложений.

Для меня важно, чтобы приложение для входа в Facebook Connect прекрасно играло с @login_required, с системой auth по умолчанию и с django-registration.

Поделитесь своим опытом:)

4b9b3361

Ответ 1

Обновление (11/26/2013). Я обновляю свои рекомендации. Поскольку прошло достаточно времени, так как я написал этот ответ, я бы рекомендовал python-social-auth или django-allauth как лучший инструмент для работы. Это активные проекты с хорошей документацией и поддержкой намного больше, чем просто Facebook. У меня был успех с использованием обоих.


Мне повезло с адаптацией django-socialregistration с django-registration (0.8). Поскольку вы работаете с django-registration, вам придется немного поработать, поскольку все три из этих пакетов предполагают роль как создания, так и аутентификации пользователя.

Я просто собирался объяснить, что нужно сделать, но вы вдохновили меня, наконец, получить мою версию: hello-social-registration.

Как я уже упоминал, он отделяет функции регистрации с бэкэндом регистрации django и обрабатывает всю авторизацию. Я использую это в своем почти бета-приложении какое-то время без проблем (я также передал его другу, чтобы использовать его несколько месяцев назад, и он получил его без особых изменений).

Это определенно не готово к использованию приложения для многократного использования plug-and-play, но, надеюсь, оно предоставит вам некоторое представление.:)

Ответ 2

На сегодняшний день наиболее часто используемым пакетом для аутентификации Facebook в Django является Django Facebook:

https://github.com/tschellenbach/Django-facebook

Он также предоставляет вам доступ к API-интерфейсам facebook с помощью включенного клиента api Open Facebook.

Ответ 3

Я хотел реализовать базовую функциональность "Войти с использованием Facebook" в моем приложении Django. Я не хотел показывать пользователю форму для заполнения или выбрать ее пароль. Я предпочел сделать его бесшовным.

В соответствии с моими требованиями, django_facebook_oauth было лучшим приложением для меня. Он просто позволяет пользователю входить в систему с помощью facebook и получать от пользователя информацию о моих приложениях от Facebook (на основе моего диалога с Facebook). Он создает нового пользователя в Django с электронной почтой пользователя, именем пользователя и пустым паролем.

Я очень рекомендую его.

Ответ 4

Привет. Посмотрите приложение fbconnect, которое мы (фактически, Эрнани, парень из нашей команды) собрали для osqa ( клон CNPROG).

Вам, вероятно, придется немного поработать, чтобы адаптировать это к вашим потребностям. Он работает с декоратором @login_required и стандартной системой django.contrib.auth, но мы не используем django-registration.

Наше приложение также работает с openid и паролем, но openid часть тесно связана с компонентом Q & A в настоящее время.

Мы можем отделить его, хотя какое-то время в будущем, если кто-то может быть заинтересован в подключаемом приложении django для чего угодно, или что-то еще лучше - PLS сообщит нам.

Ответ 5

Я использовал django-allauth и django-facebook для двух разных проектов.

django-allauth был отличным и обеспечил очень хорошую поддержку для входа в систему и создания профилей пользователей. Он также может работать с другими поставщиками auth, которые я не реализовал.

django-facebook работал из коробки, но он совместим только с Facebook. Он также предоставил простые API-интерфейсы для привлечения пользователей и друзей из Facebook прямо в db, что мне очень понравилось!

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

Ответ 6

Я играл с библиотеками на базе .NET и обнаружил их разочаровывающими. Facebook, похоже, часто меняет свои API, поэтому, если вы не можете найти библиотеку, которая регулярно поддерживается, вы обнаружите, что получите половину своей реализации, прежде чем осознаете, что есть серьезные проблемы.

У меня был некоторый успех с API-интерфейсом javascript, который Facebook публикует и поддерживает. Хотя документация может быть не всегда актуальной, я обнаружил, что я всегда находился на удалении от правильной реализации (требуется одно или два изменения).