2016-09-01 1 views
1

J'utilise Python-social-auth (https://github.com/omab/python-social-auth) pour l'utilisateur s'abonnant à Facebook.Comment puis-je obtenir plus d'informations utilisateur après avoir autorisé l'utilisateur à s'inscrire via Facebook dans Django?

Seul défaut est que je ne peux pas obtenir plus d'informations sur l'utilisateur si l'utilisateur s'inscrire par Facebook. Par exemple, birth, job, hobby sont requis mais Facebook ne donne pas ces informations.

Ce que je veux savoir est ici:

  1. En cas de birth, Facebook pourrait donner cette information. Est-ce qu'il y a un moyen de faire ça? Dois-je modifier le code de Python-social-auth?

  2. J'ai entendu dire qu'il y a un cas où, après s'être inscrit par Facebook, laissez une nouvelle fenêtre apparaître pour obtenir plus d'infos sur les utilisateurs. Je veux voir un exemple de site et comment le faire.

Besoin d'aide? Merci.

Modifier

C'est ce dont j'ai parlé. (https://developers.facebook.com/docs/facebook-login/multiple-providers?locale=en_US#postfb)

Ajout d'informations manuel de connexion à un Facebook Connexion créé compte

Cette situation se produit lorsque quelqu'un crée son compte dans votre application Facebook Connectez-vous, mais il veut plus tard de se connecter également sur le compte en utilisant un informations d'identification uniques et un mot de passe. Par exemple, Netflix a une application web qui utilise Facebook Login à côté d'un système de connexion standard, et aussi une application Xbox 360 où les gens ne peuvent utiliser le système de connexion ordinaire.

  1. Vérifiez que l'adresse e-mail Facebook Connectez-vous est vérifiée

Si vous utilisez une adresse e-mail les informations d'identification unique qui identifie chaque compte, votre application doit vérifier que l'adresse e-mail associée au compte Facebook de la personne (et obtenu lors de la connexion Facebook) est valide. Vous pouvez le faire en créant du code dans votre application pour envoyer un e-mail de vérification à l'adresse obtenue après la connexion à Facebook (vous aurez probablement besoin de cette étape dans le cadre de votre système de connexion habituel de toute façon).

  1. Demandez à la personne de fournir un nouveau mot de passe (et d'autres informations d'identification)

Une fois que l'adresse e-mail est vérifiée, vous pouvez désormais demander que la personne fournit un mot de passe, en leur indiquant qu'ils peuvent l'utiliser pour se connecter à votre application à l'avenir avec leur adresse e-mail. Une fois fourni, vous pouvez l'ajouter à la même partie de votre base de données où vous stockez actuellement des informations de compte. Si le système de connexion de votre application n'utilise pas une adresse e-mail comme identifiant et utilise à la place un nom d'utilisateur généré par l'utilisateur, vous devez également demander que la personne fournisse cette adresse en même temps qu'un mot de passe.

Je veux voir un exemple de site à ce sujet. Merci.

Répondre

0

DEFINE dans les paramètres SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS avec des champs qui vous intéressent

SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = { 
    'fields': 'first_name, last_name, birthday' 
} 

Liste des champs disponibles, vous pouvez voir here.

+0

Merci, mais qu'en est-il des informations non incluses dans ces champs? – user3595632

+0

Vous pouvez seulement obtenir ce que l'API donne. –