【发布时间】:2015-01-15 08:28:26
【问题描述】:
我已经如下设置了 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 创建用户详细信息。我得到的是一个空白名字和姓氏的用户。如果我删除 SOCIAL_AUTH_PROTECTED_USER_FIELDS,我会在创建新用户时获得 first_name 和 last_name。
那么我如何在创建新用户时获取 first_name 和 last_name,并且在下次登录时永远不要更新这些字段?
【问题讨论】:
-
此更改应该可以解决该问题github.com/omab/python-social-auth/commit/…
-
感谢@omab 解决了这个问题。
标签: python django python-social-auth