简体   繁体   English

Django-Allauth与Facebook连接但强制更改用户名

[英]Django-Allauth Connect with Facebook but Force Username Change

I'm using Django-Allauth to successfully log in with my Facebook account on my webserver. 我正在使用Django-Allauth在我的Web服务器上以我的Facebook帐户成功登录。 The problem is, when I use the default SignUpView to do so, the username stored in the DB is the username Facebook returns from the social login. 问题是,当我使用默认的SignUpView这样做时,存储在数据库中的用户名就是Facebook从社交登录名返回的用户名。 Something like this: 像这样:

<firstname>.<lastname>.<integer>

I've figured out how to connect my Facebook account with an already created standard user account ( not social ) at a later time using the view at: 我已经弄清楚了以后如何使用以下视图将我的Facebook帐户与已创建的标准用户帐户(不是social)联系起来:

/accounts/social/connections/

And how to change emails with 以及如何更改电子邮件

/accounts/email/

Can someone please show me how I can force a user to pick a non-facebook username when they log in with Facebook on my site without first creating a standard user? 有人可以告诉我如何在用户不首先创建标准用户的情况下使用Facebook登录我的网站时强迫他们选择非Facebook用户名吗?

Thanks! 谢谢!

============ EDIT ======================= ============编辑======================

So adding this to settings.py prompts for username and password to associate with facebook login, but does not prompty for a password: 因此,将其添加到settings.py会提示输入用户名和密码以与Facebook登录相关联,但不会提示输入密码:

SOCIALACCOUNT_AUTO_SIGNUP = False

I still need to figure out how to prompt for a password in this state. 我仍然需要弄清楚如何在这种状态下提示输入密码。

修复此问题-从SignupForm继承用于社交身份验证注册表单。

class SignupForm(SignupForm):

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM