Как я могу переопределить / расширить поток "конвейера", используемый в django-social-auth? - PullRequest
0 голосов
/ 15 января 2012

Это обсуждается в этой теме , но похоже, что это еще не задокументировано.

В конечном итоге я пытаюсь создать следующий поток регистрации в Facebook Connect:

  1. Пользователь подключается к Facebook (так что django-social-auth получает токен доступа, но еще не создает пользователя в Django)

  2. Пользователь переходит к просмотру, который я напишу, который будет иметь маркер доступа, чтобы я мог предоставить регистрационную форму и включить данные из Facebook (например, «вот изображение вашего профиля в Facebook, вы можете загрузить новый для использования на нашемsite ")

  3. Пользователь нажимает ссылку для создания учетной записи, и только после этого создается пользователь Django.

Сейчас я пытаюсьпошаговый и обратный инжиниринг источника django-social-auth, чтобы найти способ сделать это, но если бы кто-то мог показать пример или даже объяснение на высоком уровне правдоподобного способа сделать это, это было бы здорово.

1 Ответ

2 голосов
/ 26 января 2012

Backend init.py

строка 71 во время этого ответа.

PIPELINE = setting('SOCIAL_AUTH_PIPELINE', (
            'social_auth.backends.pipeline.social.social_auth_user',
            'social_auth.backends.pipeline.associate.associate_by_email',
            'social_auth.backends.pipeline.user.get_username',
            'social_auth.backends.pipeline.user.create_user',
            'social_auth.backends.pipeline.social.associate_user',
            'social_auth.backends.pipeline.social.load_extra_data',
            'social_auth.backends.pipeline.user.update_user_details',
       ))

Добавление SOCIAL_AUTH_PIPELINE в файл настроек и редактирование этих значений должно позволить вамчтобы настроить свой конвейер.

Кроме того, в соответствии с тем, что вы написали, вы можете установить для SOCIAL_AUTH_CREATE_USERS значение false

edit: Fix link

...