Как сделать возможным вход в Facebook через приложение Django? - PullRequest
42 голосов
/ 03 апреля 2011

Я создал приложение Django.Приложение имеет функцию входа в систему.

Может ли кто-нибудь помочь найти способ сделать возможным вход в систему с использованием учетных данных Facebook или указать мне несколько учебных пособий для его реализации?

Ответы [ 5 ]

78 голосов
/ 03 апреля 2011

Резюме;


Джанго-все-доступа


django-all-access - это повторно используемое приложение для регистрации и аутентификации пользователей от поставщиков OAuth 1.0 и OAuth 2.0, таких как Twitter и Facebook.

Цель этого проекта - упростить создание собственных рабочих процессов для аутентификации с помощью этих удаленных API. django-all-access обеспечит простые представления с нормальными значениями по умолчанию, а также перехватчиками для переопределения поведения по умолчанию.

Существует простое демонстрационное приложение, работающее по адресу http://allaccess -mlavin.dotcloud.com / Полный исходный код этого приложения включен в репозиторий.

Джанго-allauth


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

Поддерживаемые потоки

  • Регистрация как локальных, так и социальных аккаунтов
  • Подключение более одной социальной учетной записи к локальной учетной записи
  • Отключение социальной учетной записи - требуется установить пароль, если остается только локальная учетная запись
  • Возможность мгновенной регистрации в социальных сетях - без вопросов
  • Управление адресами электронной почты (несколько адресов электронной почты, установка основного)
  • Пароль забыли пароль
  • Поток проверки адреса электронной почты

Поддерживаемые провайдеры

  • Dropbox (OAuth)
  • Facebook (OAuth2 и JS SDK)
  • Github
  • Google (OAuth2)
  • LinkedIn
  • OpenId
  • Персона
  • SoundCloud (OAuth2)
  • Обмен стека (OAuth2)
  • Twitch (OAuth2)
  • Twitter
  • Weibo (OAuth2)

Django Social Auth


Django Social Auth - это простой способ настроить механизм социальной аутентификации / авторизации для проектов Django.

Созданный с использованием базового кода из django-twitter-oauth и django-openid-auth , он реализует общий интерфейс для определения новых поставщиков аутентификации от сторонних производителей.

Поддерживаемые провайдеры

  • Google OpenID
  • Google OAuth
  • Google OAuth2
  • Yahoo OpenID
  • OpenId, как myOpenID
  • Twitter OAuth
  • Facebook OAuth

Джанго-Socialauth


Что он делает

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

Вход в систему

Это приложение для включения аутентификации через различные сторонние сайты. В частности, это позволяет войти через

  • Twitter
  • Gmail
  • Facebook
  • Yahoo (по существу, openid)
  • OpenId

oauth2app


Модуль oauth2app помогает операторам сайта Django предоставлять интерфейс OAuth 2.0. Модуль зарегистрирован как приложение.

Джанго-OAuth


Это раздвоенная версия Джанго-оута Дэвида Ларлета.

Одним очень важным отличием является то, что эта версия требует, чтобы вы работали с реальным кэшем за инфраструктурой кэширования Django .

Джанго-OAuth доступа


Поддерживаемые провайдеры

  • Twitter
  • LinkedIn
  • Yahoo
  • Facebook (с использованием OAuth 2.0 - он функционален, но требует дополнительной работы)
  • Вероятно, любой сайт, совместимый с OAuth 1.0a

Джанго-OAuth потребителя


Приложение django, предоставляющее инфраструктуру для использования сервисов OAuth.Это не для предоставления услуг OAuth.


Также полезно:

18 голосов
/ 03 апреля 2011

Я настоятельно рекомендую использовать django-social-auth .README очень полон, и он также включает в себя информацию для аутентификации в других источниках OAuth, таких как Twitter, и в источниках OpenID, таких как Google и Yahoo.Конечно, если вы просто хотели аутентификацию Facebook, вы можете просто использовать ее для этого.

Есть также пример приложения, которое дает вам пример кода для игры.

9 голосов
/ 13 августа 2013

ДЛЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ, если вы разрабатываете приложение для ios / android с django в бэкэнде, то вы можете войти в Facebook через интерфейс ios / android api facebook. Но это не последний логин для вашего приложения. После входа в Facebook, Facebook дает вам токен доступа, который вы затем можете отправить в бэкэнд django вместе с вашим именем пользователя / адресом электронной почты в Facebook. В свою очередь, django может использовать что-то вроде facebook python sdk для проверки пары токенов имени пользователя и доступа, связываясь с Facebook. Если подтверждено, вы можете, наконец, войти в систему пользователя для вашего приложения.

Использовать Python SDK легко, просто прочитайте учебник, и через несколько секунд вы будете общаться с Facebook.

1 голос
/ 06 сентября 2016

Новый способ сделать это - использовать python-social-auth , поскольку django-social-auth устарел в пользу python-social-auth и теперь поддерживает другие фреймворки, отличные от Django, такие как Колба, Пирамида, Web.py и Торнадо .

Он также поддерживает других крупных поставщиков аутентификации, таких как Microsoft, Google, Twitter, Amazon, GitHub и многие другие .

Вот быстрый способ настроить его на Django: Как войти в Google+ API с помощью Django?

0 голосов
/ 04 января 2017

Я могу полностью порекомендовать Джанго-Аллах .Это просто работает!

...