Авторизация через Facebook
Чтобы пользователи могли войти в систему через Facebook, добавьте следующую строку к параметру AUTHENTICATION_BACKENDS в файле settings.py:
'social.backends.facebook.Facebook2OAuth2',
Чтобы добавить аутентификацию с помощью Facebook, вам нужна учетная запись разработчика Facebook, и вы должны создать новое приложение Facebook. Откройте https://developers.facebook.com/apps/?action=create в браузере и нажмите кнопку Add new app. Щелкните на Website и введите Bookmarks для имени вашего приложения. Когда запросите, введите http://mysite.com:8000/ в качестве URL-адреса сайта. Следуйте инструкциям до конца и щелкните Create App ID.
Перейдите к панели управления(dashboard) вашего сайта. Вы увидите нечто похожее:
Скопируйте ключи App ID и App Secret и добавьте их в файл settings.py, следующим образом:
SOCIAL_AUTH_FACEBOOK_KEY = 'XXX' # Facebook App ID
SOCIAL_AUTH_FACEBOOK_SECRET = 'XXX' # Facebook App Secret
При необходимости можно определить параметр SOCIAL_AUTH_FACEBOOK_SCOPE с дополнительными разрешениями, которые необходимо запросить у пользователей Facebook:
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
Наконец, откройте шаблон registration/login.html и добавьте в блок content следующий код:
<div class="social">
<ul>
<li class="facebook">
<a href="{% url "social:begin" "facebook" %}">Sign in with Facebook</a>
</li>
</ul>
</div>
Откройте в браузере http://mysite.com:8000/account/login/ . Теперь страница входа будет выглядеть следующим образом:
Нажмите кнопку Login with Facebook. Вы будете перенаправлены на Facebook, и вы увидите модальное диалоговое окно, запрашивающее разрешение на доступ к профилю Facebook для приложения Bookmarks:
Нажмите кнопку ОК. Python-social-auth аутентифицирует вас. Если все пройдет успешно ваши данные будут внесены в базу данных и вас перенаправят на страницу dashboard.