/ / Как работи аллаут, когато потребителят се регистрира чрез социална регистрация - django, регистрация, социални, потребителски профил, django-allauth

Как работи аллаут, когато потребителят се регистрира чрез социална регистрация - django, регистрация, социални, потребителски профил, django-allauth

Опитвам се да използвам Джанго-allauth да предоставя социална регистрация, но имам проблеми при конфигурирането на профилите за потребителя. Няма документация за django-allauth, която казва

  1. как се създава потребителски акаунт django, когато даден потребител се регистрира чрез трета страна като facebook
  2. Какво потребителско име е присвоено на този потребител и коя парола се използва.
  3. Някои доставчици от трети страни, като Facebook, предоставят много информация за потребителя, като име, имейл и т.н., така че как да ги получим и да ги запазим в потребителския профил / потребителския профил

Ако някой е използвал allauth в своите проекти и може да даде някои подробности, то би било наистина полезно.

Отговори:

10 за отговор № 1

Използвам django_allauth в моя проект.

(1) Как се създава потребителски акаунт django, когато даден потребител се регистрира чрез трета страна като Facebook?

Трябва да погледнете:

  1. вашия администраторски панел и да видим какво се случва, когато някой влиза.
  2. allauth.facebook.views.login и се опитайте да проследите процеса на вход

Това е нещо подобно (с няколко думи):

  1. Когато даден потребител влезе в сайта Ви чрез своите идентификационни номера в Facebook, той получава достъп до знак
  2. Това означение се запазва в таблицата FACEBOOK_ACCESS_TOKENS (можете да го видите в администраторския панел)
  3. С този знак за достъп и с помощта на Facebook GraphApi познаваме неговата социална_дандация
  4. Когато познаваме неговата социална_име - можем да си осигурим неговата сметка в Facebook от нашата база данни
  5. Ако не го запазихме вече в базата данни - ние запазваме профила в Facebook в таблицата FACEBOOK_ACCOUNTS (Facebook профили в администраторския панел)
  6. След това създаваме потребител в таблицата ПОТРЕБИТЕЛИ с данните в профила в Facebook. (можете да видите новия потребител в секцията Потребители в администраторския панел)


(2) Кое потребителско име е присвоено на този потребител и коя парола се използва?

Както споменах по-горе с помощта на Facebook GraphApi получаваме потребителското име на потребителя в Facebook и то е присвоено на потребителския профил като User.username


(3) Някои доставчици от трети страни като Facebook предоставят много информация за потребителя, като име, имейл и т.н., така че как да ги получим и да ги запазим в потребителския профил / потребителския профил?

Отново - Facebook GraphApi - тя ви дава информация, от която се нуждаете.

Интегрирах django_allauth в сайта си и работи правилно. Ще се радвам да отговоря (ако мога), ако имате още въпроси.


РЕДАКТИРАНЕ - За поддръжка на аватара ...

Мисля, че трябва да погледнете настройките django_allauth и по-специално в:

SOCIALACCOUNT_AVATAR_SUPPORT (= "avatar" в настройките.INSTALLED_APPS)

Активирайте поддръжката на django-avatar. Когато е активирано, изображението на профила на потребителят се копира локално в django-avatar при регистрация.