0

Je construis mon framework Django RESTful pour récupérer et publier des données pour Mobile. J'utilise djang-rest-auth (qui est juste tout-auth avec la fonctionnalité RESTful, plus d'info: http://django-rest-auth.readthedocs.io/en/latest/).Puis-je me connecter avec Facebook en tant qu'utilisateur non enregistré? (Django, all-auth)

Question: L'authentification sociale dans all-auth n'est pas claire pour moi. Pouvez-vous terminer ce cas d'utilisation?

Cas d'utilisation: Utilisateur non enregistré

  1. Utilisateur Connexion avec Facebook sur mobile
  2. mobile obtient jeton facebook de Facebook SDK
  3. Mobile envoie jeton à notre URL du serveur DRF Backend qui est «/REST auth/facebook '
  4. Et que se passe-t-il? Pouvez-vous compléter ce cas d'utilisation?< - Voici ma question

Mes suppositions:

  • tout-auth Créer automatiquement un nouvel utilisateur pour l'utilisateur facebook jeton et de retour nouveau jeton?
  • Ensuite, il enregistre l'utilisateur créé dans les paramètres .AUTH_USER_MODEL? Ou...?
  • J'ai trouvé 'compte social' dans Django admin. Sommes-nous en train d'enregistrer l'utilisateur dans ce compte ..?

Répondre

1

Oui, vous avez raison. Après avoir reçu le jeton facebook, Django crée l'instance SocialAccount qui inclut le nom du backend (facebook dans votre cas) et l'identifiant facebook de l'utilisateur. Cette instance sera liée à AUTH_USER_MODEL par ForeignKey alors lorsque la prochaine fois que l'utilisateur essaiera de se connecter, Django trouvera SocialAccount en spécifiant facebook id et retournera une instance associée AUTH_USER_MODEL.

+0

Bonjour. J'ai reçu un jeton de Facebook et j'ai envoyé une requête POST avec le jeton en tant que 'access_token'. Je reçois 400 erreur ... Une idée? Je suis sur ce problème depuis longtemps. –

+0

@JohnBaek désolé je n'ai aucune idée. Pouvez-vous poster une autre question avec plus de détails? – neverwalkaloner

+0

Bien sûr. Merci. J'ai été stock avec ce problème pendant une semaine. –