2016-08-16 2 views
0

Mon pipeline auth sociale est la suivante:Lors de la mise à niveau de python-social-auth de 0.1.17 à 0.2.4, l'attribut de session n'est pas fourni dans la requête, à la méthode de pipeline personnalisée?

SOCIAL_AUTH_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', 
'social.pipeline.user.get_username', 
'social.pipeline.social_auth.associate_by_email', 
'social.pipeline.user.create_user', 
'social.pipeline.social_auth.associate_user', 
'social.pipeline.social_auth.load_extra_data', 
'social.pipeline.user.user_details', 
'useraccounts.models.create_user_profile' 
) 

Quand 'useraccounts.models.create_user_profile' ne suit:

request = kwargs.get('request') 
do_something(session_key=request.session.session_key) 

erreur suivant provient:

'QueryDict' object has no attribute 'session' 

'Demande' dictionnaire a des éléments avec les clés suivantes: état, code, prompt, session_state, authuser

J'utilise Django version 1.5.5. Le problème est à venir puisque j'ai mis à jour python-social-auth de v0.1.17 à v0.2.4

+0

'request = kwargs.get ('request')' n'est pas 'QuerySet', son' QueryDict'. Vous pouvez utiliser comme ceci: 'request ['session'] ['session_key']'. –

+0

Demande ne possède aucune clé nommée session donc il n'y a aucun avantage à changer la méthode d'accès. Bien que j'ai essayé et eu erreur: MultiValueDictKeyError: « 'session' Clé introuvable dans Sid

+0

résultat d'impression de la demande –

Répondre

1

https://github.com/omab/python-social-auth/issues/978

Essayez d'utiliser

strategy.request 

pour accéder à la demande de django.

+0

Cela semble intéressant, il aurait dû être mentionné dans docs. Aussi, mon code a pu obtenir 'session' et 'user' à partir de la requête kwargs avant la mise à niveau, alors pourquoi cela se passe-t-il après la mise à niveau, une idée? – Sid

+0

Désolé, je ne peux pas répondre à votre question, c'est la première fois que j'utilise ce module :) Mon travail fonctionne correctement, et vous? –

+0

J'ai mis en œuvre la suggestion et tout fonctionne bien maintenant. Merci beaucoup ! – Sid