无法使用python social auth设置自定义参数

时间:2014-12-08 23:15:50

标签: python django python-social-auth

我已经按照文档来设置我的自定义参数,但我仍然无法从我的自定义管道功能中获取它。

以下是设置:

在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)

1 个答案:

答案 0 :(得分:2)

我已经弄明白了。

只需将以下行添加到settings.py:

即可
SOCIAL_AUTH_FIELDS_STORED_IN_SESSION = ('tgtid', )