9
votes

Comment ne pas définir l'adresse email de l'utilisateur dans Django Social-Auth

J'ai installé Django Social-Auth (à partir d'OMAB) et les utilisateurs ont une adresse électronique dans la base de données qui est celle que je souhaite conserver, mais lorsque les utilisateurs se connectent de Facebook à l'aide de social-auth-auth, leur email est remplacé par le celui qu'ils ont sur leur compte Facebook. Je ne suis pas sûr que les paramètres sont ceux par défaut ou non et ne peuvent pas trouver comment arrêter ce comportement.


0 commentaires

3 Réponses :


5
votes

Je l'ai trouvé, dans le pipeline responsable de celui-ci est

social_auth.backends.pipeline.user.update_user_details


0 commentaires

3
votes

Je pose ma solution (mettre à jour les détails de l'utilisateur, ne pas les écraser) afin que cela puisse aider quelqu'un. Basé sur pipeline.user.update_user_details J'ai codé ce qui suit: xxx


2 commentaires

Salut. Comment puis-je continuer à implémenter la solution que vous avez postée ci-dessus dans mon application Django? Où est-ce que le morceau de code ci-dessus devrait-il aller?


@Arpitrai Si vous avez une version relativement nouvelle de social-auth Je vous ai recommandé d'utiliser la réponse de ZHE ( Stackoverflow.com / A / 16267281/556413 )



9
votes

Avez-vous essayé social_authh_proteint_user_fields ? :)

du manuel:

Le processeur Pipeline Update_user_Details définira certains champs sur Objets utilisateur, tels que le courrier électronique. Définissez ceci dans une liste de champs que vous seul Voulez-vous définir pour les utilisateurs nouvellement créés:

social_auth_protetecte_user_fields = ['email',]

De plus, plus de valeurs supplémentaires seront stockées si définies. Détails à ce sujet Les paramètres sont énumérés ci-dessous dans les sections OpenID et OAuth.


2 commentaires

Aujourd'hui, je ferais certainement cela, mais de retour dans les jours qui étaient une autre histoire :) Les champs protégés n'ont pas encore été introduits.


Ouais je sais. J'essayais de résoudre-le hier et je suis presque allé pour la solution de Glarrain. Ensuite, j'ai trouvé ces paramètres dans le manuel. Il suffit de le mettre ici au cas où quelqu'un tl; DR le manuel :)