"Anmelden mit Twitter" mit Zend Framework
Trotz all der Hass Twitter im Moment, ich habe neue zu schaffen, eine Twitter -basierte Anwendung. Als jemand, der verwaltet mehrere Konten (sowohl persönliche als auch für meine ehrenamtliche Tätigkeiten) Ich habe benötigen ein Werkzeug für irgendwann, dass ich noch am Anfang um zu schreiben (mehr davon in naher Zukunft ...).
Ich habe auf dich lesen Zend_Oauth_Consumer und wie sie mit Hilfe verwendet werden, um Twitter Genehmigung für die Interaktion mit oauth . Alles schön und gut, ich habe meinen Zugangscode und ich kann fröhlich Post entfernt auf einem Anwender-Namen. Es gibt viele Mittel gibt, dies zu tun, damit ich will Sie nicht langweilen Menschen.
Der nächste Schritt war damit die Menschen auf die Website zurück, melden Sie sich an und passen ihr Konto. Dies ist, wo ich ein kleines Problem erreicht. Mit dem Code-Beispiele auf Webseiten gemeint, dass ich twitter haben mich gefragt für Zugangsberechtigung wieder für jede Anmeldung, nicht gut. Scannen über den Rahmen, den ich nicht sehen konnte, alles, was erlauben Sie mir, nur die Authentifizierung anfordern würde. Das ist nicht seine dort nicht sagen, aber es schien nicht um einen Authentifizierungsmechanismus, dass ohne Kenntnis der Zugangs-Token bereits aufgerufen werden könnten.
Die Alternativen waren eine Website-basierten Login durchzuführen oder irgendwie speichern die Benutzer-Zugangs-Token auf dem Client (natürlich verschlüsselt). Keines dieser schien es eine gute / passende Lösung.
Mit einem Blick auf die Anträge von meinem Code habe ich wusste, dass alles, was erforderlich war, um die URL, auf die Zend_Oauth_Consumer Weiterleitungen ändern. Es schien die einfachste Möglichkeit, dies zu tun war, die authorizationUrl Parameter mit dem Authentifizierungs-URL von Twitter zu überschreiben. Dies geschah wie folgt:
$ Config = array ( "CallbackUrl '=> ... Callback-URL ... "Siteurl '=>' https: / / twitter.com / oauth" "ConsumerKey '=> ... Verbraucher-Taste ... "ConsumerSecret '=> ... geheimem Schlüssel ... ); $ Verbraucher = new Zend_Oauth_Consumer ($ config); $ Token = $ Verbraucher-> getRequestToken (); / / Das Token bestehen zu Speicheranlagen $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serialize ($ token); $ Verbraucher-> setAuthorizeUrl ('https: / / twitter.com / oauth / authentifizieren'); $ Verbraucher-> redirect ();
Nach der Rückkehr auf die Anwendung von Twitter verarbeiten wir die Antwort etwa so:
$ Token = $ Verbraucher-> getAccessToken ( $ _GET, unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN']) ); echo $ Token-> user_id. '::'. $ Token-> screen_name;
Wie Sie bestätigen / speichern die Authentifizierung ist bis zu Ihnen, aber das sollte erfolgreich umzusetzen "Zeichen in mit twitter"-System.
Wenn jemand weiß, ein richtiger / elegantere Lösung für dieses würde ich mich sehr zu hören interessiert. Es scheint auf ein Mangel an Informationen "Anmelden mit twitter" mit PHP / Zend Framework im Internet


















































[...] Macht das schon mit Twitter-Service und Sie können ein schnelles Stück auf, dass hier zu sehen - Melden Sie sich mit Hilfe von Twitter Zend Framework. Ich bin mit meiner Implementierung, wo ich die "Autorisieren URL", da ich nicht tun [...]