Невозможно установить пользовательский параметр с социальной авторизацией Python

Я следовал документации, чтобы установить свой пользовательский параметр, но я все еще не могу получить его из своей пользовательской функции конвейера.

Вот настройка:

В settings.py:

FIELDS_STORED_IN_SESSION = ['tgtid']

SOCIAL_AUTH_PIPELINE = (
    'mindex.users.auth.pipeline.user_data',
    'social.pipeline.social_auth.auth_allowed',
    'social.pipeline.social_auth.social_user',
    'social.pipeline.user.create_user',
    'social.pipeline.social_auth.associate_user',
    'social.pipeline.user.user_details',
    'mindex.users.auth.pipeline.save_token',
    'mindex.users.auth.pipeline.add_social',
)

Пример URL перенаправления:

/login/facebook/?tgtid=1&next=/report/1/connect_task/

В моей функции add_social я не могу прочитать tgtid, Strategy.session_get('tgtid') возвращает None. Сигнатура функции add_social:

add_social(strategy, social, response, *args, **kwargs)

1 ответ

Решение

Я сам понял.

Просто добавьте следующую строку в settings.py:

SOCIAL_AUTH_FIELDS_STORED_IN_SESSION = ('tgtid', )
Другие вопросы по тегам