Je construis une application web utilisant des rails 3. J'ai ma propre connexion, connexion et authentification, et je cherche à ajouter une implémentation Oauth 2 pour que les gens puissent se connecter avec Facebook et se connecter/inscription avec moins d'étapes.modéliser les utilisateurs avec Oauth 2
J'ai les débuts de cette opération avec succès. Jusqu'à présent, je peux obtenir facebook pour authentifier les utilisateurs et me donner la permission d'accéder à leurs informations. Je n'ai pas encore essayé de configurer Twitter mais je suppose que cela fonctionnerait de la même manière. Ce que je réfléchis maintenant, c'est comment l'intégrer dans mon modèle d'utilisateur existant qui consiste essentiellement en un tableau d'utilisateurs qui ont des emails, des noms et des mots de passe.
Dois-je laisser ma table d'utilisateurs comme il est et mettre en place une table de fournisseurs d'accès:
id | user_id | provider_id | access_key
---------------------------------------
1 | 4 | 1 | xyz
2 | 4 | 2 | pqr
3 | 7 | 1 | dfr
et permet de dire une table « Utilisateurs Facebook Info » où je stocker des informations sur un utilisateur qui, comme été glanées à partir accéder à cet utilisateur dans le graphe Facebook?
De cette façon, je peux normaliser le tableau des utilisateurs avec les informations de base que chaque utilisateur possède ou non via Facebook (nom, email, mot de passe) et compléter ces données avec les données de son profil Facebook s'il devient disponible?
Y a-t-il une meilleure façon de procéder? Existe-t-il un bon guide ou tutoriel pour concevoir ce type de modèle de base de données (pensez à Quora)? Je peux gérer un tutoriel PHP aussi btw!
Désolé pour la question ouverte.
Heureux de voir que j'étais sur la bonne voie au moins! Quoi qu'il en soit, j'ai regardé les sites Signet et OmniAuth GitHub et j'ai trouvé quelques RailsCasts sur le sujet. J'ai décidé de revenir au début et d'implémenter Devise pour le contrôle de l'utilisateur, puis de superposer OmniAuth. J'ai choisi OmniAuth sur Signet à ce stade, principalement parce qu'il semble qu'il fournit des documents plus complets (je suis un noob!) Et j'adore le fait que RailsCasts l'intègre. Vraiment apprécier la divulgation complète et merci pour votre message. –