gpt4 book ai didi

django - 如何使用 django-allauth 提供者信息填充用户个人资料?

转载 作者:行者123 更新时间:2023-11-30 05:15:58 25 4
gpt4 key购买 nike

我正在使用 django-allauth 作为我的身份验证系统。我需要当用户登录时,配置文件模块会填充提供者信息(在我的例子中是 facebook)。

我正在尝试使用 pre_social_login 信号,但我只是不知道如何从提供者身份验证中检索数据

from django.dispatch import receiver
from allauth.socialaccount.signals import pre_social_login

@receiver(pre_social_login)

def populate_profile(sender, **kwargs):
u = UserProfile( >>FACEBOOK_DATA<< )
u.save()

谢谢!!!

最佳答案

pre_social_login 信号在用户成功后发送通过社交提供者进行身份验证,但在实际登录之前处理。此信号针对社交登录、注册以及何时发出将其他社交帐户连接到一个帐户。

所以它是在注册完全完成之前发送的——因此这不是使用的正确信号。

相反,我建议您使用 allauth.account.signals.user_signed_up,它是为所有用户(本地用户和社交用户)发出的。

从该处理程序中,您可以检查附加到用户的任何 SocialAccount。例如,如果您想检查 Google+ 特定数据,请执行以下操作:

user.socialaccount_set.filter(provider='google')[0].extra_data

更新:最新的开发版本通过传递直接包含所有相关信息(社交帐户、 token 、.. .)

关于django - 如何使用 django-allauth 提供者信息填充用户个人资料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14523224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com