Nano Hash - криптовалюты, майнинг, программирование

Django REST Framework - социальная аутентификация (Facebook, Twitter и т. Д.)

Я создаю REST API для платформы, на которой у нас есть iOS, Android и веб-приложения в качестве клиентов. Пользователи могут зарегистрироваться в обычном режиме через API-интерфейсы Django, поэтому аутентифицируйтесь, используя свои учетные данные, или они могут войти в свою учетную запись Facebook или Twitter с помощью OAuth.

Я начал использовать django-rest-framework-social-oauth2, чтобы ускорить разработку части для входа в социальные сети. . Часть, которую я не понимаю, связана с обратным вызовом URL (или перенаправлением URL), указывающим на серверное приложение Django.

Какой обратный вызов URL я должен предоставить? Есть ли уже готовая версия django-rest-framework-social-oauth2?

Кроме того, есть ли лучший пакет для DRF, который можно использовать для аутентификации больших проектов?


Ответы:


1

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

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

Резюме;


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)
  • Твиттер
  • 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


Что оно делает

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

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

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

  • Твиттер
  • Gmail
  • Facebook
  • Yahoo (по сути openid)
  • OpenId

oauth2app


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

django-oauth


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

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

django-oauth-доступ


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

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

django-oauth-consumer


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


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

09.08.2018
  • Спасибо за ответ. Я просмотрю ваш список, чтобы лучше понять. Библиотека, которую я использую django-rest-framework-social-oauth2, полагается на python-social-auth. Как вы думаете, это не лучший пакет? 09.08.2018
  • Кроме того, какой обратный вызов / перенаправление URL-адреса должно быть предоставлено Facebook / Twitter? 09.08.2018
  • Urls.py url (r '^ oauth /', include ('social_django.urls', namespace = 'social')). Давайте установим значения по умолчанию для LOGIN_URL, LOGOUT_URL и LOGIN_REDIRECT_URL. LOGIN_REDIRECT_URL будет использоваться для перенаправления пользователя после аутентификации через Django Login и Social Auth. LOGIN_URL = 'войти' LOGOUT_URL = 'выйти' LOGIN_REDIRECT_URL = 'главная' 10.08.2018
  • Обратный звонок в facebook будет example.com/oauth/complete/facebook. 10.08.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..