我已经成功地将django-socialauth
一个帐户(在本例中为 Instagram 帐户)与现有用户帐户相关联。我还设置了我的管道来收集其他用户详细信息:
def update_social_auth(backend, details, response, social_user, uid, user,
*args, **kwargs):
if getattr(backend, 'name', None) in ('instagram', 'tumblr'):
social_user.extra_data['username'] = details.get('username')
social_user.save()
这在第一次关联帐户时非常有用。但是,如果帐户已经关联,则该username
字段将不会出现在 中extra_data
。
extra_data
建立关联后如何更新用户?有没有办法django-socialauth
在不断开连接和重新连接或使用帐户(例如 Instagram 的)API 的情况下做到这一点?
如果有帮助,这是我目前的管道:
SOCIAL_AUTH_PIPELINE = (
'social_auth.backends.pipeline.social.social_auth_user',
'social_auth.backends.pipeline.social.associate_user',
'social_auth.backends.pipeline.social.load_extra_data',
'social_auth.backends.pipeline.user.update_user_details',
'apps.utils.social.utils.update_social_auth'
)