我已成功設法使用django-socialauth
將帳戶(本例中爲instagram帳戶)與現有用戶帳戶相關聯。我還設置了我的管道以收集其他用戶詳細信息:如何在與帳戶關聯後更新用戶的`extra_data`?
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()
這對第一次關聯帳戶時效果很好。但是,如果帳戶已關聯,字段將不會出現在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'
)