2017-08-29 6 views
0

Première utilisation de python-social-auth et de Django, mais j'ai du mal à déterminer exactement la quantité d'informations sur le compte social de l'utilisateur.Obtention d'informations utilisateur depuis Django Python Social Auth dans la vue


Lorsque j'accéder au extra_data de l'objet UserSocialAuth je peux obtenir le uid et le access_token. Pour obtenir plus de détails, est-ce que je dois les nourrir via l'API de l'entreprise sociale (ex facebook)?


je peux voir que pour certains auths sociaux comme objet user facebook Django est magique peuplée avec les noms et prénoms du profil social, mais pour d'autres comme LinkedIn qui ne fonctionne pas. Comment puis-je savoir quelles informations sont disponibles pour chaque autorité sociale sans avoir à les examiner manuellement?


Je viens d'essayer d'obtenir autant de données « Profil » de l'utilisateur et je suis inquiet en passant par l'API est le « long chemin » d'y parvenir. J'ai effectivement lu la documentation, mais il est peut-être trop avancé pour moi; Je ne sais pas comment utiliser les données acquises par le pipeline depuis la vue. Je ne suis même pas sûr que cette phrase ait du sens!

Répondre

1

python-social-auth vont simplement chercher les nécessairement bits à remplir:

  • email
  • nom d'utilisateur
  • prénom
  • nom

Certaines API fournira plus de détails lors de l'authentification flux, ceux-ci peuvent être enregistrés dans extra_data basé sur le SOCIAL_AUTH_EXTRA_DATA setti ng

Certains backends lancent un appel à une API dans le fournisseur pour extraire les données supplémentaires. Un moyen facile de déboguer les données disponibles consiste à ajouter un pipeline personnalisé entre les étapes par défaut et à tout imprimer dans les arguments.

Comme par le uid et access_token, oui, vous avez raison, lorsque vous appelez une API desservie par le fournisseur exigera ces valeurs, parfois les deux, parfois access_token est suffisant.