Опитвам се да използвам Джанго-allauth да предоставя социална регистрация, но имам проблеми при конфигурирането на профилите за потребителя. Няма документация за django-allauth, която казва
- как се създава потребителски акаунт django, когато даден потребител се регистрира чрез трета страна като facebook
- Какво потребителско име е присвоено на този потребител и коя парола се използва.
- Някои доставчици от трети страни, като Facebook, предоставят много информация за потребителя, като име, имейл и т.н., така че как да ги получим и да ги запазим в потребителския профил / потребителския профил
Ако някой е използвал allauth в своите проекти и може да даде някои подробности, то би било наистина полезно.
Отговори:
10 за отговор № 1Използвам django_allauth в моя проект.
(1) Как се създава потребителски акаунт django, когато даден потребител се регистрира чрез трета страна като Facebook?
Трябва да погледнете:
- вашия администраторски панел и да видим какво се случва, когато някой влиза.
- allauth.facebook.views.login и се опитайте да проследите процеса на вход
Това е нещо подобно (с няколко думи):
- Когато даден потребител влезе в сайта Ви чрез своите идентификационни номера в Facebook, той получава достъп до знак
- Това означение се запазва в таблицата FACEBOOK_ACCESS_TOKENS (можете да го видите в администраторския панел)
- С този знак за достъп и с помощта на Facebook GraphApi познаваме неговата социална_дандация
- Когато познаваме неговата социална_име - можем да си осигурим неговата сметка в Facebook от нашата база данни
- Ако не го запазихме вече в базата данни - ние запазваме профила в Facebook в таблицата FACEBOOK_ACCOUNTS (Facebook профили в администраторския панел)
- След това създаваме потребител в таблицата ПОТРЕБИТЕЛИ с данните в профила в 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 при регистрация.