Авторизация через 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.

results matching ""

    No results matching ""