Python社交认证PROTECTED_USER_FIELDS问题

时间:2014-11-18 08:09:26

标签: python django python-social-auth

我已经设置了Python Social Auth,如下所示,

SOCIAL_AUTH_STRATEGY = 'social.strategies.django_strategy.DjangoStrategy'
SOCIAL_AUTH_STORAGE = 'social.apps.django_app.default.models.DjangoStorage'
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True
SOCIAL_AUTH_PROTECTED_USER_FIELDS = ['email', 'first_name', 'last_name']

我的管道如下

SOCIAL_AUTH_PIPELINE = (
    'social.pipeline.social_auth.social_details',
    'social.pipeline.social_auth.social_uid',
    'social.pipeline.social_auth.auth_allowed',
    'social.pipeline.social_auth.social_user',
    'social.pipeline.user.get_username',
    'social.pipeline.social_auth.associate_by_email',
    'social.pipeline.user.create_user',
    'social.pipeline.social_auth.associate_user',
    'social.pipeline.social_auth.load_extra_data',
    'social.pipeline.user.user_details'
)

根据设置,如果新用户使用社交帐户登录,则应使用first_name和last_name创建用户详细信息。我得到的是一个空白first_name和last_name的用户。如果我删除 SOCIAL_AUTH_PROTECTED_USER_FIELDS ,我会在创建新用户时获取first_name和last_name。

那么在创建新用户时如何获取first_name和last_name,并且在下次登录时永远不会更新这些字段?

0 个答案:

没有答案