Как сделать доступ в Facebook доступным в приложении Django?

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

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

Ответ 1

Резюме;


django-all-access


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

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

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

django-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

Django-Socialauth


Что он делает

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

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

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

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

oauth2app


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

django-oauth


Это раздвоенная версия Дэвида Ларле django-oauth.

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

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


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

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

django-oauth-consumer


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


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

Ответ 2

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

Также есть пример приложения, в котором вам предоставляется пример кода для воспроизведения.

Ответ 3

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

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

Ответ 4

Новый способ сделать это с помощью python-social-auth, поскольку django-social-auth устарел в пользу python-social-auth и теперь поддерживает другие фреймворки, чем Django, такие как Flask, Pyramid, Web.py и Tornado.

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

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

Ответ 5

Я могу полностью рекомендовать django-allauth. Он просто работает!