不验证用户django-social-auth?

时间:2017-01-08 20:41:10

标签: python django django-socialauth

用户点击链接/登录/蒸汽。之后所有工作都顺利进行(django.contrib.auth用户实例和social_auth用户实例创建很好,自定义管道工作。但是当我尝试在使用steam登录后在我的视图中使用request.user时我有错误

  

'AnonymousUser'对象不可迭代

我的settings.py文件

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

我在app中的自定义pipeline.py

def add_steam_data_marker(strategy, details, backend, uid, *args, **kwargs):

if backend.name == 'steam':
    try:
        Model.objects.get(steam_user_id=uid)
        return redirect('/home/')
    except ObjectDoesNotExist:
       Model.objects.create(
            ........,
        )

       return redirect('/model/add/')

1 个答案:

答案 0 :(得分:2)

所有麻烦都在AUTHENTICATION_BACKENDS用户社交。 .....使用social_core - >'social_core.backends.steam.SteamOpenId',