Python Social Auth:更改管道中的UID

时间:2015-10-07 11:45:03

标签: python django python-social-auth

我使用Django和最新的python-social-auth。我目前的管道如下。直到我引入了注册时,它才100%工作.regage.extra_registration_details'运行一段代码,接受来自另一个内部服务的生成的uid,并将userprofile的Django uid设置为。这打破了管道,因为(我认为)管道中的社交认证用户已经附加到之前的uid,但向上或向下移动该功能并不能解决任何问题。

(请注意,注册过程的好奇方式是因为我将其添加到旧项目中并且它以某种特殊的方式工作)

管道:

#python-social oauth pipeline that can be augmented and added to
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',
    'registration.email_as_username',
    'social.pipeline.social_auth.associate_by_email',
    'social.pipeline.user.create_user',
    'registration.extra_registration_details',
    'social.pipeline.social_auth.associate_user',
    'social.pipeline.social_auth.load_extra_data',
    'social.pipeline.user.user_details'
)

更改uid的代码(在extra_registration_details中):

    uid = fetchUserUID(user.id)
    user.get_profile().uid = uid

如果我对以上两行进行评论,那么对配置文件的其余更改将完美运行。

那么我应该使用哪个部分来手动更改正在创建的用户的uid,而不会破坏正常的管道功能?感谢

0 个答案:

没有答案