"Entra con Twitter" con Zend Framework
A pesar de todos los twitter odio en este momento, me he propuesto crear un nuevo Twitter basado en la aplicación. Ser alguien que maneja varias cuentas (tanto personal como para mi trabajo de caridad) que he estado necesitando una herramienta para que en algún momento sólo estoy en torno a la escritura (más de que en un futuro próximo ...).
He leído hasta el Zend_Oauth_Consumer y cómo puede ser utilizado para obtener la autorización para interactuar con Twitter mediante OAuth . Todo muy bien, tengo mi clave de acceso y alegre de enviar lejos el nombre de un usuario. Hay un montón de recursos que hay que hacer esto, así que no aburrir a la gente.
El paso siguiente consistió en permitir a la gente para volver a la página web, acceder y modificar su cuenta. Aquí es donde llegué a un pequeño problema. Usando los ejemplos de código en las páginas web significaba que yo tendría que twitter pedirme autorización de acceso de nuevo para cada entrada, no es bueno. La exploración a través del marco que no podía ver nada que me permitiría pedir sólo la autenticación. Esto no quiere decir que su no existe, pero no parece ser un mecanismo de autenticación que se puede invocar sin conocer el token de acceso ya.
Las alternativas fueron para poner en práctica un registro basado en el sitio en alguna tienda o token de acceso en el cliente (cifrado por supuesto) del usuario. Ninguno de estos parecía una buena solución / adecuado.
Echar un vistazo a las peticiones formuladas por el código que sabía que todo lo que se necesita es cambiar la URL a la que Zend_Oauth_Consumer redirecciones. Al parecer la forma más fácil de hacerlo era reemplazar el parámetro authorizationUrl con la URL de autenticación de twitter. Esto se hizo de la siguiente manera:
$ Config = array ( 'CallbackUrl' => ... de devolución de llamada-url ..., 'SiteUrl' => 'https: / / twitter.com / OAuth, 'ConsumerKey' => ... de los consumidores de clave ..., 'ConsumerSecret' => ... de clave secreta ..., ); $ Consumidor = Zend_Oauth_Consumer nueva ($ config); $ Token = $ consumidor> getRequestToken (); / / Conservar el símbolo de almacenamiento $ ['TWITTER_REQUEST_TOKEN'] _SESSION = serialize ($ token); setAuthorizeUrl $ consumo-> ('https: / / twitter.com / / OAuth / autenticar "); $ Consumidor-> redirect ();
A su regreso a la aplicación de twitter que procesamos la respuesta de la siguiente manera:
$ Token = $ getAccessToken de consumo-> ( $ _GET, unserialize ($ ['TWITTER_REQUEST_TOKEN'] _SESSION) ); echo $ user_id token>. ::. $ Screen_name símbolo->;
¿Cómo validar / tienda de la autenticación de usted, pero este éxito debe implementar una 'sesión con twitter' del sistema.
Si alguien sabe de una más correcta / más elegante solución a este estaría muy interesado en escuchar. Parece haber una falta de información sobre 'sesión con twitter "utilizando PHP / Zend Framework en Internet


















































[...] Estado haciendo esto con el servicio de Twitter y se puede ver una pieza rápida de que aquí - Entra en Twitter usando Zend Framework. Estoy usando mi implementación, donde me puse el "URL Autorizar", ya que no [...]