/ / Comment allauth fonctionne-t-il lorsque l'utilisateur se connecte via un enregistrement social - django, enregistrement, social, profil utilisateur, django-allauth

Comment fonctionne allauth lorsque l'utilisateur se connecte via l'enregistrement social - django, enregistrement, social, profil utilisateur, django-allauth

J'ai essayé d'utiliser django-allauth pour fournir un enregistrement social, mais je ne parviens pas à configurer les profils pour l'utilisateur. Il n'y a pas de documentation de django-allauth qui raconte

  1. Comment un compte utilisateur Django est créé lorsqu'un utilisateur se connecte via un tiers tel que Facebook
  2. Quel nom d'utilisateur est attribué à cet utilisateur et quel mot de passe est utilisé.
  3. Certains fournisseurs tiers, tels que Facebook, fournissent de nombreuses informations sur l'utilisateur, telles que son nom, son adresse électronique, etc. Alors, comment pouvons-nous les obtenir et les enregistrer dans le compte / profil de l'utilisateur

Si quelqu'un a utilisé allauth dans ses projets et peut fournir quelques détails, ce serait vraiment utile.

Réponses:

10 pour la réponse № 1

J'utilise django_allauth dans mon projet.

(1) Comment un compte utilisateur Django est-il créé lorsqu'un utilisateur se connecte via un tiers tel que Facebook?

Vous devriez jeter un oeil à:

  1. votre panneau d'administration et voyez ce qui se passe quand quelqu'un se connecte.
  2. allauth.facebook.views.login et essayez de suivre le processus de connexion

C'est quelque chose comme ça (en quelques mots):

  1. Lorsqu'un utilisateur se connecte à votre site via ses informations d'identification Facebook, il reçoit un jeton d'accès.
  2. Ce jeton est enregistré dans la table FACEBOOK_ACCESS_TOKENS (vous pouvez le voir dans le panneau d'administration).
  3. Avec ce jeton d'accès et avec l'aide de Facebook GraphApi, nous connaissons son identifiant social
  4. Lorsque nous connaissons son identifiant social, nous pouvons avoir son compte Facebook à partir de notre base de données.
  5. Si nous ne l’avons pas déjà enregistré dans la base de données, nous enregistrons le compte Facebook dans la table FACEBOOK_ACCOUNTS (comptes Facebook dans le panneau d’administration).
  6. Ensuite, nous créons un utilisateur dans la table USERS avec les données présentes dans le compte Facebook. (vous pouvez voir le nouvel utilisateur dans la section Utilisateurs du panneau d'administration)


(2) Quel nom d'utilisateur est attribué à cet utilisateur et quel mot de passe est utilisé?

Comme je l'ai mentionné précédemment avec l'aide de Facebook GraphApi, nous obtenons le nom d'utilisateur de l'utilisateur Facebook, qui est attribué au profil utilisateur sous le nom User.username.


(3) Certains fournisseurs tiers, tels que Facebook, fournissent de nombreuses informations sur l'utilisateur, telles que son nom, son adresse électronique, etc.: comment pouvons-nous les obtenir et les enregistrer dans le compte / profil de l'utilisateur?

Encore une fois - le Facebook GraphApi - il vous donne les informations dont vous avez besoin.

J'ai intégré django_allauth sur mon site et tout fonctionne correctement. Je serai heureux de répondre (si je le peux) si vous avez d'autres questions.


MODIFIER - Pour le support de l'avatar ...

Je pense que vous devez jeter un oeil à la paramètres django_allauth et particulièrement dans:

SOCIALACCOUNT_AVATAR_SUPPORT (= "avatar" dans settings.INSTALLED_APPS)

Activer le support pour django-avatar. Lorsque activé, l’image de profil de l'utilisateur est copié localement dans django-avatar lors de l'inscription.