通过社交网站注册时如何跳过django-allauth提出的用户注册表格?

安莫尔

最近,我遇到了异常情况。当我尝试通过Linked In在django网站上进行注册时,它立即使我登录并将我重定向到我设置的任何登录重定向URL。但是现在,当我最终将网站部署在AWS上时,django-allauth将我带到该用户注册页面,要求在注册之前先输入用户名。我想跳过这一步,使用电子邮件代替“用户名”。这是我的Django的所有settings.py特定于auth的设置
ACCOUNT_AUTHENTICATION_METHOD = "email" ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = "none" ACCOUNT_LOGOUT_REDIRECT_URL = "/user/" ACCOUNT_SIGNUP_PASSWORD_VERIFICATION = True ACCOUNT_UNIQUE_EMAIL = True
此外,我还尝试了setting SOCIALACCOUNT_AUTO_SIGNUP = True

安莫尔

是的,似乎我忽略了他们的文档,或者他们最近更新了它,问题是我正在使用“注册流程”来登录已经注册的用户,因此allauth用来显示此注册表单。您可以通过编写以下代码来避免这种情况:并且您的注册链接将类似于:并将多个帐户连接到同一封电子邮件,您需要定义一个适配器,如下所示:
<a href="{% provider_login_url "facebook" process="login" method="oauth2" %}">login with facebook</a>

<a href="{% provider_login_url "facebook" method="oauth2" %}">sign up with facebook</a>

class SocialLoginAdapter(DefaultSocialAccountAdapter):
    def pre_social_login(self, request, sociallogin):
        # This is tested and should work
        try:
            user = User.objects.get(email=sociallogin.account.user.email)
            sociallogin.connect(request, user)
            # Create a response object
            response = HttpResponse()
            raise ImmediateHttpResponse(response)
        except Exception:
            pass

并在您的settings.py中提到这一点,
SOCIALACCOUNT_ADAPTER = 'path_to_your_adapter_module.SocialLoginAdapter'
这就是我最终的settings.py的样子(allauth部分)

ACCOUNT_AUTHENTICATION_METHOD = "email"
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "none"  #later change to mandatory
ACCOUNT_SIGNUP_PASSWORD_VERIFICATION = True
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
SOCIALACCOUNT_EMAIL_REQUIRED = True
SOCIALACCOUNT_AUTO_SIGNUP = True
# custom adapter to override login behavior and associate different social profiles with same email,with same user
SOCIALACCOUNT_ADAPTER = 'path_to_your_adapter_module.SocialLoginAdapter'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过社交网站注册时如何跳过django-allauth提出的用户注册表格?

来自分类Dev

django-allauth注册表单中用户的外部模型

来自分类Dev

C#用户注册表格问题

来自分类Dev

在Plone中如何创建用户注册表格?

来自分类Dev

Express.js-如何防止用户发布注册表格...?

来自分类Dev

Android注册表格

来自分类Dev

Novalidate不适用于FOS用户注册表格

来自分类Dev

yii用户:在注册表格上上传图片

来自分类Dev

使用django-allauth的多个注册,注册表

来自分类Dev

Django allauth社交登录:使用注册的电子邮件自动链接社交网站配置文件

来自分类Dev

自定义django-allauth的社交帐户注册表单

来自分类Dev

自定义django-allauth的社交帐户注册表单

来自分类Dev

laravel 5注册表格

来自分类Dev

覆盖FOSUserBundle注册表格

来自分类Dev

laravel 5注册表格

来自分类Dev

php注册表格问题

来自分类Dev

提交注册表格时出错

来自分类Dev

Django自定义注册表格

来自分类Dev

在Django中制作不同的注册表格?

来自分类Dev

php表格:将用户从注册表格带回到上一页

来自分类Dev

我在复制laravel用户注册表格时遇到问题

来自分类Dev

django 1.7带有个人资料图片的用户注册表格

来自分类Dev

如何在“自定义用户”模型中保存allauth的自定义“注册表单”中的字段?

来自分类Dev

在joomla用户注册表格中登录后如何获得我自己的页面

来自分类Dev

使用Django Allauth注册Facebook用户

来自分类Dev

django主页上的allauth登录和注册表单

来自分类Dev

Django-Allauth:注册表单中的可选字段

来自分类Dev

django-allauth-覆盖默认注册表单

来自分类Dev

针对Wordpress中不同类型用户的多个用户注册表格

Related 相关文章

热门标签

归档