如何在django social-auth中设置用户的电子邮件地址

Bas*_*ian 9 django django-socialauth

我安装了django social-auth(来自omab)并且用户在数据库中有一个我想保留的电子邮件地址但是当用户使用social-auth从facebook登录时,他们的电子邮件被他们拥有的电子邮件取代在他们的Facebook帐户.我不确定默认设置是否是设置,无法找到如何停止此行为.

Zhe*_* Li 9

你试过SOCIAL_AUTH_PROTECTED_USER_FIELDS吗?:)

从手册:

update_user_details管道处理器将在用户对象(例如电子邮件)上设置某些字段.将其设置为您只想为新创建的用户设置的字段列表:

SOCIAL_AUTH_PROTECTED_USER_FIELDS = ['email',]

如果定义,还将存储更多的额外值.有关此设置的详细信息,请参见下面的OpenId和OAuth部分.


Bas*_*ian 5

我找到了它,在管道中负责的是

social_auth.backends.pipeline.user.update_user_details
Run Code Online (Sandbox Code Playgroud)

我刚从管道中删除它,现在电子邮件地址和名称等详细信息留给用户填写.