我已经按照文档来设置我的自定义参数,但我仍然无法从我的自定义管道功能中获取它。
以下是设置:
在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',
)
重定向网址示例为:
/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)
答案 0 :(得分:2)
我已经弄明白了。
只需将以下行添加到settings.py:
即可SOCIAL_AUTH_FIELDS_STORED_IN_SESSION = ('tgtid', )