"Connectez-vous avec Twitter" en utilisant le Zend Framework

En Watkin Lloyd Steven , le jeudi Mars 17th 2011 01:07

Malgré tous les twitter haine pour le moment, j'ai décidé de créer un nouveau twitter basée application. Être quelqu'un qui gère plusieurs comptes (à la fois personnel et pour mon travail de charité) j'ai eu besoin d'un outil pendant un certain temps que je suis juste se déplacer à l'écriture (plus de cela dans un avenir proche ...).

J'ai lu sur Zend_Oauth_Consumer et comment elle peut être utilisée pour obtenir une autorisation pour interagir avec Twitter en utilisant OAuth . Tout va bien, j'ai ma clé d'accès et je peux allègrement post loin au nom d'un utilisateur. Il ya beaucoup de ressources existent pour ce faire, je ne vais pas ennuyer les gens.

L'étape suivante a consisté à permettre aux gens de retourner au site, de vous connecter et de modifier leur compte. C'est là que j'ai atteint un léger problème. Utiliser les exemples de code sur les sites web signifiait que je devais twitter me demander l'autorisation d'accès à nouveau pour chaque connexion, pas bon. Numérisation par le cadre que je ne pouvais pas voir quoi que ce soit qui me permettrait de juste demande d'authentification. Cela ne veut pas dire que ce n'est pas là, mais il ne semble pas être un mécanisme d'authentification qui pourraient être invoqués sans connaître le jeton d'accès déjà.

Les solutions de rechange étaient à mettre en œuvre un journal basé sur un site ou un moyen de stocker le jeton d'accès sur le client (crypté bien sûr) de l'utilisateur. Aucune de ces semblait être une bonne solution / approprié.

Ayant un regard sur les demandes formulées par mon code, je savais que tout ce qui était nécessaire était de changer l'URL vers laquelle Zend_Oauth_Consumer redirections. Il a semblé la meilleure façon de faire était de remplacer le paramètre authorizationUrl avec l'URL d'authentification de Twitter. Cela a été fait comme suit:

 $ Config = array (
 «CallbackUrl '=> ... de rappel url ...,
 «SiteUrl '=>' https: / / twitter.com / oauth,
 «ConsumerKey '=> ... des consommateurs-clés ...,
 «ConsumerSecret '=> ... à clé secrète ...,
 );
 $ Consumer = Zend_Oauth_Consumer nouvelles ($ config);

 $ Token = $ getRequestToken consommateurs> ();
 / / Persistent le jeton de stockage
 $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serialize ($ token);
 setAuthorizeUrl $ consommateurs> ("https: / / twitter.com / oauth / authentifier»);
 $ Consommateurs> redirect ();

De retour à l'application de Twitter nous traiter la réponse comme ceci:

 $ Token = $ getAccessToken consommateurs> (
 $ _GET,
 unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN'])
 );

 echo $ user_id jeton>.  '::'.  $ Screen_name jeton->;

Comment vous validez / stocke l'authentification est à vous, mais cela ne devrait mettre en œuvre avec succès un «signe avec twitter 'système.

Si quelqu'un sait d'une plus juste / solution plus élégante à ce que je serais très intéressé à entendre. Il semble y avoir un manque d'information sur "connectez-vous avec twitter» en utilisant PHP / Zend Framework sur Internet

One Response to "" Connectez-vous avec Twitter "en utilisant le Zend Framework"

  1. [...] Fait cela avec le service de Twitter et vous pouvez voir un morceau rapide sur ici - Connectez-vous avec Twitter en utilisant Zend Framework. J'utilise ma mise en œuvre où j'ai mis le "URL Autoriser" comme je ne [...]

Laisser un commentaire













Thème par Panorama Themocracy

4 visiteurs en ligne dès maintenant
3 personnes, 1 bots, 0 membres
Maximum de visiteurs aujourd'hui: 14 à 03:51 UTC
Ce mois-ci: 26 au 05/07/2011 00:35 UTC
Cette année: 130 à 28-03-2011 10:40 pm UTC
Tous les temps: 130 à 28-03-2011 10:40 pm UTC