2010-11-11 7 views
5

J'adore la facilité d'OmniAuth, mais j'ai du mal à relier les points en faisant des appels api supplémentaires après avoir reçu le jeton. Je vais utiliser LinkedIn comme exemple, mais ce n'est pas LinkedIn qui est le problème, d'autant plus mon manque de compréhension sur la façon de faire des appels ultérieurs après que je me suis authentifié.OmniAuth pour extraire les données de profil complet de LinkedIn

Je peux faire la demande à LinkedIn et m'authentifier très bien. Ensuite, je récupère le hachage et il est complètement peuplé. Maintenant, je voudrais rappeler LinkedIn et obtenir mes données complètes de profil ou peut-être une liste de contacts. Comment puis-je faire cela? Aurai-je besoin de la gemme d'oauth après tout?

Je préférerais éviter les gemmes spécifiques à l'application parce que je devrais faire les mêmes demandes à twitter et facebook. Omniauth est conçu pour l'authentification seulement.

Répondre

1

+1

S'il vous plaît voir mon commentaire sur la réponse d'Arkan. –

1

Marcel Fallière a raison. Omniauth est juste pour l'authentification.

Vous pouvez jeter un oeil à ce plugin, il pourrait résoudre votre problème.

https://github.com/pengwynn/linkedin

+0

Bien, mais comment pouvons-nous utiliser OmniAuth pour récupérer les détails de configuration, les jetons utilisateur et tout ce qui est nécessaire pour faire la demande? Certaines suggestions montrent session [: omniauth] [: jeton] ou similaire, mais que se passe-t-il si quelqu'un est connecté à un compte d'utilisateur qui a Twitter, Facebook, etc. –

+0

Vous avez raison. Il sera nécessaire d'obtenir des jetons valides pour chaque service requis. Je n'ai pas la réponse. Est-ce que quelqu'un sait ? – Arkan

+0

peut-être les informations fournies dans ce fil vous aideront: http://stackoverflow.com/questions/4187178/omniauth-pulling-tweets-fb-places-etc –

1

Je pense que je viens de trouver la réponse.

après l'achèvement du processus oauth avec le fournisseur de services (fb, twitter) omniauth sauve l'utilisateur. ici, il passe un hachage à l'objet utilisateur et le contenu du hachage est ici https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema cette partie des informations d'identification peut être utilisée pour demander une requête supplémentaire (en fait, vous devrez les enregistrer dans votre objet utilisateur).

Questions connexes