2011-09-05 4 views
6

Je cherche une bibliothèque oAuth de base pour PHP, quelque chose que je peux simplement passer une clé de consommateur, une clé secrète, et une URL pour demander le jeton, (et un rappel) où il sera il suffit de retourner un jeton oAuth. La principale caractéristique dont il a besoin est d'être utilisable sur différents réseaux sociaux. Actuellement, j'ai un wrapper massif pour Twitter, un wrapper massif pour facebook et un autre pour Linked in etc, qui pourrait être remplacé par une fonction pour chaque site, et un site oAuth de base.Simple bibliothèque PHP et oAuth

+0

http://code.google.com/p/oauth-php/, exemple de twitter: http://code.google.com/p/oauth-php/source/browse /trunk/example/client/twoleggedtwitter.php –

+0

Twitter et Facebook utilisent différentes versions d'OAuth. Vous ne pouvez pas avoir de support pour ces deux dans une bibliothèque – sanmai

+0

J'ai essayé de construire cela. Il est disponible en code google mais jamais fini. Actuellement ne fonctionne que pour Twitter et http://code.google.com/p/social-php/ –

Répondre

4

Cette bibliothèque n'existe pas pour le moment. Vous avez la bibliothèque oauth-php et oauth2-php mais ils ne sont pas "simples", la bonne partie est qu'ils gèrent eux-mêmes leur jeton. Ils n'aiment pas les jetons trop longs (comme ceux de Yahoo), ce qui peut être un gros problème.

De plus, certaines fonctions de l'API Microsoft ne sont plus disponibles dans leur version 5.0, ce qui signifie que vous devez utiliser leur ancienne API qui implémente leur own Oauth protocol (tous les paramètres oauth_ * sont nommés wrap_ *).

Editer: vous pouvez consulter le projet HybridAuth qui implémente la partie login (pas toutes les API) mais qui devrait vous donner un bon démarrage.

+1

Je vais vérifier HybridAuth ce soir, ressemble le plus proche je vais obtenir – maccard

+1

Il s'avère que oAuth construit en PHP, ce qui est plus simple que les suggestions. https://github.com/jrconlin/oauthsimple/blob/master/php/example.php était un bon exemple que j'ai trouvé d'une bibliothèque oAuth facile, mais à la fin je suis allé pour HybridAuth. Il s'occupe des connexions, ce qui était exactement ce que je voulais, je peux construire le reste de l'API par-dessus (je n'ai pas besoin de beaucoup plus) Merci – maccard

1

J'ai effectivement rencontré cette question moi-même et j'ai fini par construire une bibliothèque OAuth après avoir regardé tous les choix que j'avais. Voici quelques exemples de code pour appeler l'API de Twitter:

use ohmy\Auth1; 

# start a session to save oauth data in-between redirects 
session_start(); 

# initialize 3-legged oauth 
$twitter = Auth1::init(3); 

# configuration 
$twitter->set('key', 'your consumer key') 
     ->set('secret', 'your consumer secret') 
     ->set('callback', 'your callback url') 
     ->request('https://api.twitter.com/oauth/request_token') 
     ->authorize('https://api.twitter.com/oauth/authorize') 
     ->access('https://api.twitter.com/oauth/access_token') 
     ->finally(session_destroy); 

# test GET call 
$twitter->GET('https://api.twitter.com/1.1/statuses/home_timeline.json', array('count' => 5)) 
     ->then(function($response) { 
      echo '<pre>'; 
      var_dump($response->json()); 
      echo '</pre>'; 
     }); 

La bibliothèque fonctionne avec Twitter, Facebook et LinkedIn. Vous pouvez le vérifier à: https://github.com/sudocode/ohmy-auth

Questions connexes