Django Facebook Connect App Рекомендации - PullRequest
34 голосов
/ 15 февраля 2010

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

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

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

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

Пожалуйста, поделитесь своим опытом:)

Ответы [ 6 ]

28 голосов
/ 22 февраля 2010

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


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

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

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

Это , определенно еще не готово к повторному использованию, но надеюсь, оно даст вам некоторое представление. :)

4 голосов
/ 22 октября 2011

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

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

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

3 голосов
/ 12 августа 2012

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

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

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

1 голос
/ 17 февраля 2010

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

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

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

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

0 голосов
/ 19 июня 2014

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

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

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

facebook.get_and_store_likes(user)
facebook.get_and_store_friends(user)
0 голосов
/ 17 февраля 2010

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

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

...