2011-09-05 25 views
6

Estoy buscando una biblioteca básica de oAuth para PHP, algo que simplemente puedo pasar una clave de consumidor, una clave secreta y una URL para solicitar el token (y una devolución de llamada) donde lo hará solo devuelve un Token oAuth. La característica principal que necesita es ser utilizable a través de varias redes sociales. actualmente tengo un contenedor masivo para Twitter, un contenedor masivo para Facebook y otro para Linked in, etc., que podría ser reemplazado con una función para cada sitio, y un sitio básico de oAuth.PHP simple y biblioteca OAuth

+0

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

+0

Twitter y Facebook usan diferentes versiones de OAuth. No puede tener soporte para estas dos en una biblioteca – sanmai

+0

Intenté construir esto. Está disponible en el código de google pero nunca lo terminó. Actualmente solo funciona para twitter y linkedin http://code.google.com/p/social-php/ –

Respuesta

4

No hay tal biblioteca en este momento. Usted tiene la biblioteca oauth-php y oauth2-php, pero no son "simples", la parte buena es que ellos mismos administran su token. No les gustan los tokens demasiado largos (como los de Yahoo) que pueden ser un gran problema.

Además, algunas funciones de la API de Microsoft ya no están disponibles en su versión 5.0, lo que significa que debe usar su antigua API que implementa su own Oauth protocol (todos los parámetros de oauth_ * se llaman wrap_ *).

Editar: puede consultar el proyecto HybridAuth que implementa la parte de inicio de sesión (no todas las API), pero debe darle un buen comienzo.

+1

Comprobaré HybridAuth esta noche, parece lo más cercano que voy a obtener – maccard

+1

Resulta que hay OAuth integrado en PHP, que es más simple que las sugerencias. https://github.com/jrconlin/oauthsimple/blob/master/php/example.php era un buen ejemplo que encontré de una biblioteca de OAuth fácil, pero al final opté por HybridAuth. Se trata de los inicios de sesión, que era exactamente lo que quería, puedo construir el resto de la API en la parte superior (no necesito mucho más) Gracias – maccard

1

De hecho, me encontré esta pregunta y terminé construyendo una biblioteca OAuth después de ver todas las opciones que tenía. He aquí algunos ejemplos de código para llamar a la 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 biblioteca funciona con Twitter, Facebook y LinkedIn. Puede consultarlo en: https://github.com/sudocode/ohmy-auth