Рекомендуется разрешить python-social-auth
обрабатывать вход в Facebook за вас, а вместо этого вы используете другой плагин OAuth для Django REST Framework для аутентификации с помощью Django. Это имеет дополнительное преимущество, так как также поддерживает вход в систему не через Facebook через стандартную систему аутентификации Django.
Меня смущает использование Django Social Auth с Django Rest Framework для устройств ios.
Недавно я ответил на аналогичный вопрос о реализации аутентификации с python-social-auth
и Django REST Framework. Он включает некоторые важные моменты, о которых следует прочитать при реализации аутентификации с использованием третьей стороны, а также некоторые важные примечания о том, как вы не должны передавать сторонние токены OAuth обратно своему клиенту.
Как я могу использовать эти пакеты вместе?
Хотя в этом ответе конкретно упоминается использование OAuth в качестве метода аутентификации для API, стоящего за python-social-auth
, вы можете использовать другие методы аутентификации, которые внутренне используют систему аутентификации Django, например TokenAuthentication
. В любом случае вы закончите аутентификацию через прокси между вашим клиентским приложением и сторонним провайдером аутентификации, используя ваш внутренний API.
В чем разница между подключением facebook со спа и мобильным устройством?
Facebook обеспечивает прямую интеграцию с некоторыми мобильными операционными системами, в первую очередь с iOS и Android. Это обходит ваш API для аутентификации и напрямую аутентифицирует ваше мобильное приложение с Facebook. В идеале это будет аутентификация вашего внутреннего API вместо мобильного приложения. Это все еще возможно, если вы передадите токен доступа обратно в свой API вручную, по сути, сделав то же самое, что и python-social-auth
, но это может быть рискованно и может не стоить дополнительных усилий. .
Facebook Connect (теперь известный как Facebook Login) работает аналогично тому, как интеграция Facebook работает на мобильных устройствах. Единственное отличие, которое может работать в вашу пользу, заключается в том, что очень легко перейти от входа в Facebook для одностраничных приложений к шаблону аутентификации на основе OAuth. Это задокументировано в документации разработчиков Facebook как «Создание процесса входа в систему вручную» и совместим с библиотеками, поддерживающими вход на основе OAuth, например python-social-auth
.
Могу ли я перейти с django-social-auth на python-social-auth?
Это больше не должно быть проблемой, поскольку python-social-auth
фактически заменил django-social-auth
.
person
Kevin Brown
schedule
02.12.2014