2017-01-08 2 views
1

L'utilisateur clique sur le lien/login/steam. Après que tous les travaux propetly (django.contrib.auth instance utilisateur et instance utilisateur social_auth créer bien, pipeline personnalisé fonctionne. Mais après quand j'essaie d'utiliser request.user à mon avis après la connexion avec la vapeur j'ai erreurN'authentifie pas l'utilisateur django-social-auth?

objet 'AnonymousUser' est pas itérables

Mon fichier 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',) 

Mon pipeline.py personnalisé dans l'application

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/') 

Répondre

2

Tous les problèmes étaient dans AUTHENTICATION_BACKENDS ne pas utilisateur social. ..... utilisez social_core -> 'social_core.backends.steam.SteamOpenId',

+0

Merci !!! Pareil pour moi. – user963936