gpt4 book ai didi

django - 用户通过社交注册登录时allauth如何工作

转载 作者:行者123 更新时间:2023-12-02 11:31:06 25 4
gpt4 key购买 nike

我一直在尝试使用django-allauth提供社交注册,但我在为用户配置配置文件时遇到问题。没有 django-allauth 的文档告诉

  1. 当用户通过第三方(例如 facebook)登录时,如何创建 django 用户帐户
  2. 分配给该用户的用户名以及使用的密码。
  3. 某些第三方提供商(例如 Facebook)提供了大量有关用户的信息,例如姓名、电子邮件等,那么我们如何获取这些信息并将其保存在用户帐户/个人资料中

如果有人在他们的项目中使用过 allauth 并且可以提供一些详细信息,那么这将非常有帮助。

最佳答案

我在我的项目中使用 django_allauth。

(1)当用户通过facebook等第三方登录时,如何创建django用户帐户?

您应该看看:

  1. 您的管理面板,看看有人登录时会发生什么。
  2. allauth.facebook.views.login并尝试跟踪登录过程

它是这样的(用几句话来说):

  1. 当用户通过 Facebook 凭据登录您的网站时,他会获得一个访问 token
  2. 此 token 保存在 FACEBOOK_ACCESS_TOKENS 表中(您可以在管理面板中查看它)
  3. 通过此访问 token 并在 Facebook GraphApi 的帮助下,我们知道他的social_id
  4. 当我们知道他的 Social_id 时 - 我们可以从我们的数据库中获取他的 Facebook 帐户
  5. 如果我们尚未将其保存在数据库中 - 我们会将 Facebook 帐户保存在 FACEBOOK_ACCOUNTS 表中(管理面板中的 Facebook 帐户)
  6. 然后,我们使用 Facebook 帐户中存在的数据在 USERS 表中创建一个用户。 (您可以在管理面板的“用户”部分中查看新用户)


(2) 为该用户分配了什么用户名以及使用什么密码?

正如我之前提到的,在 Facebook GraphApi 的帮助下,我们获取 Facebook 用户的用户名,并将其分配给用户个人资料作为 User.username


(3) 某些第三方提供商(例如 Facebook)提供了大量有关用户的信息,例如姓名、电子邮件等,那么我们如何获取这些信息并将其保存在用户帐户/个人资料中?

再次强调 - Facebook GraphApi - 它可以为您提供所需的信息。

我已将 django_allauth 集成到我的网站中,并且它工作正常。如果您有更多问题,我很乐意回答(如果可以的话)。


编辑 - 对于头像支持...

我认为你必须看看django_allauth settings特别是在:

SOCIALACCOUNT_AVATAR_SUPPORT (= 'avatar' in settings.INSTALLED_APPS)

Enable support for django-avatar. When enabled, the profile image of the user is copied locally into django-avatar at signup.

关于django - 用户通过社交注册登录时allauth如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481048/

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