Невозможно установить пользовательский параметр с социальной авторизацией 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', )