"Accedi con Twitter" utilizzando Zend Framework
Nonostante tutti i twitter odio in questo momento, ho deciso di creare un nuovo twitter -based. Essere qualcuno che gestisce più conti (sia personali che per il mio lavoro carità) ho bisogno di uno strumento che per qualche Sto solo prendendo in giro a scrivere (più che in un prossimo futuro ...).
Ho letto su Zend_Oauth_Consumer e come può essere usato per ottenere l'autorizzazione per l'interazione con Twitter utilizzando OAuth . Tutto bene, ho la mia chiave di accesso e posso allegramente post di distanza per conto di un utente. C'è un sacco di risorse là fuori per fare questo in modo che non portava le persone.
Il passo successivo è stato quello di permettere alle persone di tornare al sito, accedere e modificare i loro account. Questo è dove ho raggiunto un piccolo problema. Utilizzando gli esempi di codice su siti web significava che avrei dovuto twitter che mi chiedeva di autorizzazione all'accesso di nuovo per ogni account di accesso, non va bene. La scansione attraverso il quadro non ho potuto vedere nulla che mi permettesse di chiedere solo l'autenticazione. Ciò non vuol dire la sua non c'è, ma non sembrava essere un meccanismo di autenticazione che può essere invocato senza conoscere i token di accesso già.
Le alternative erano per implementare un sito di log-based in negozio o in qualche modo token di accesso sul client (criptata ovviamente) dell'utente. Nessuno di questi sembrava una buona soluzione / appropriata.
Avere uno sguardo alle richieste avanzate dal mio codice ho capito che tutto ciò che era necessario era quello di cambiare l'URL a cui Zend_Oauth_Consumer redirect. Mi sembrava il modo più semplice per farlo è stato quello di ignorare il parametro authorizationUrl con l'URL di autenticazione da Twitter. Ciò è stato fatto nel modo seguente:
$ Config = array ( 'CallbackUrl' => ... richiamata-url ... 'Siteurl' => 'https: / / twitter.com / OAuth', 'ConsumerKey' => ... dei consumatori-key ..., 'ConsumerSecret' => ... a chiave segreta ... ); $ Consumatore = Zend_Oauth_Consumer nuovo ($ config); Token = $ $ getRequestToken consumatore-> (); / / Mantenere il gettone di stoccaggio $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serializzare ($ token); setAuthorizeUrl $ consumatore-> ('https: / / twitter.com / OAuth / autenticare'); $ Consumatore-> redirect ();
Al ritorno l'applicazione da Twitter noi elaborare la risposta così:
Token = $ $ getAccessToken consumatore-> ( $ _GET, unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN']) ); echo $ user_id token->. '::'. $ Screen_name token->;
Come si convalida / store l'autenticazione dipende da voi, ma questo dovrebbe implementare con successo un 'accedere con Twitter' del sistema.
Se qualcuno sa di un più corretto / soluzione più elegante per questo sarei molto interessato a conoscere. Sembra che ci sia una mancanza di informazioni su 'accedere con Twitter' utilizzando PHP / Zend Framework su internet


















































[...] Fatto questo con il servizio di Twitter e si può vedere un pezzo veloce che qui - Entra con Twitter utilizzando Zend Framework. Sto utilizzando la mia implementazione dove ho impostato il "URL Autorizzo", come io non [...]