Avons-nous besoin d'un flux côté client ou d'un flux côté serveur ou des deux pour implémenter la fonctionnalité de connexion avec Facebook ?

StackOverflow https://stackoverflow.com//questions/9664804

Question

Actuellement sur mon site Web, les utilisateurs se connectent avec leur identifiant de connexion et leur mot de passe, ils doivent également saisir leur email lorsqu'ils s'inscrivent.Les deux login_id et email colonne sur le users la table a un index unique. users La table stocke également d'autres données associées à l'utilisateur telles que gender,last_name,first_name mais ce sont des champs facultatifs (nullables).

Il y a deux modifications que j'aimerais apporter au site Web.

La première est que les utilisateurs peuvent utiliser leur courrier électronique (en plus de login_id) ouvrir une session.Pour les nouveaux utilisateurs, lors de leur inscription, ils n'ont plus besoin de fournir un login_id car ils utiliseront leur e-mail pour se connecter.

Le deuxième changement est qu’ils peuvent se connecter avec Facebook.Pour les nouveaux utilisateurs, s'ils se connectent avec Facebook pour la première fois, leur identifiant Facebook sera obtenu et stocké dans ma base de données.Cela signifie que je devrai ajouter un facebook_uid colonne sur le users tableau.

Pour les utilisateurs existants, lorsqu'ils se connectent à Facebook pour la première fois, je dois d'abord obtenir leur adresse e-mail à partir de leur profil Facebook, puis vérifier s'il existe déjà un enregistrement utilisant cette adresse e-mail dans le users table, si oui, leur uid Facebook sera également stocké sur le facebook_uid colonne sur cet enregistrement.

Selon Facebook, sa plateforme prend en charge deux flux OAuth 2.0 différents pour la connexion des utilisateurs :flux côté serveur et flux côté client.Lequel ou les deux sont requis pour ce cas d'utilisation ?

De plus, quels problèmes peuvent être anticipés lorsque j'implémente les fonctionnalités décrites ci-dessus ?

Était-ce utile?

La solution

Vous pouvez adopter l’une ou l’autre approche pour cela, cela dépend entièrement de vous.Les deux méthodes vous donneront les données dont vous avez besoin, il s'agit de savoir dans quelle mesure vous êtes à l'aise avec le back-end par rapport au front-end.Il vous suffit de demander l'autorisation d'accéder à l'adresse e-mail de l'utilisateur.

Problèmes qui pourraient survenir :Je ne suis pas sûr, mais il peut y avoir des restrictions légales sur le stockage de l'identifiant Facebook de l'utilisateur.De plus, que se passe-t-il si quelqu'un (pas moi, une personne malveillante !) s'inscrit avec mon adresse e-mail et que vous ne validez pas qu'il a réellement accès à cette adresse - alors lorsque je me connecte via Facebook, l'application supposera que nous sommes le la même personne et le méchant pirate informatique a désormais accès à mon compte.Scénario peu probable mais qui pourrait arriver...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top