Twitter oAuth callbackUrl – localhost sviluppo

È nessun altro avendo un momento difficile ottenere Cinguetta oAuth callback URL di colpire il loro localhost ambiente di sviluppo.
A quanto pare è stata disattivata di recente. http://code.google.com/p/twitter-api/issues/detail?id=534#c1

Qualcuno ha una soluzione alternativa. Io non voglio fermare la mia di sviluppo

Ha funzionato per me, impostando twitter callback url al mio vero nome, l’url del sito web. Durante il test in localhost -> twitter di iscrizione, reindirizzato a localhost (invece di url del sito web).

OriginaleL’autore | 2009-04-29

17 Replies
  1. 133

    Alternativa 1.

    Impostare vostro .padroni di casa (Windows) o il file etc/hosts a punto di un dominio “live” al tuo IP localhost. ad esempio:

    127.0.0.1 xyz.com

    dove xyz.com è il vero e proprio dominio.

    Alternativa 2.

    Inoltre, l’articolo fornisce la punta in alternativa, utilizzare un URL shortener di servizio. Ridurre il vostro URL locale e fornire il risultato come richiamata.

    Alternativa 3.

    Inoltre, sembra che funziona per fornire ad esempio http://127.0.0.1:8080 come richiamata per Twitter, invece di http://localhost:8080.

    Buon punto e vi ringrazio.
    127.0.0.1:3000 funziona come un fascino.
    Potrebbe essere questa la causa del seguente errore: Il server remoto ha restituito un errore: (401) non autorizzato?
    Come si fa a localhost funziona quando non c’è nessun tunnel? In realtà, non ha colpito ur macchina locale?

    OriginaleL’autore Tony

  2. 27

    Ho dovuto fare questa ultima settimana. A quanto pare localhost non funziona, ma 127.0.0.1 Va in figura.

    Questo, naturalmente, presuppone che si sta registrando due app di Twitter, uno per il live www.mysite.com e un altro per 127.0.0.1.

    davvero strano perché accade questo .. ma non funziona per me ..grazie

    OriginaleL’autore Adam

  3. 7

    Sì, è stato disattivato a causa della recente problema di sicurezza che è stato trovato in OAuth. L’unica soluzione per ora è quella di creare due OAuth applicazioni per la produzione e uno per lo sviluppo. Nello sviluppo dell’applicazione è possibile impostare il tuo localhost callback URL invece di quello live.

    Ho appena provato a farlo, ma non accetta il localhost:3000 un formato di URL…
    Sì, sembrano filtrare gli Url di questo tipo. 🙁 Ma il supporto personalizzato per callback url torna – forse sono supportate.

    OriginaleL’autore arikfr

  4. 7

    Questo è come ho fatto:

    Registrato Callback URL:
    http://127.0.0.1/Callback.aspx

       OAuthTokenResponse authorizationTokens = 
            OAuthUtility.GetRequestToken(ConfigSettings.getConsumerKey(), 
                                         ConfigSettings.getConsumerSecret(), 
                                         "http://127.0.0.1:1066/Twitter/Callback.aspx");
    

    ConfigSettings:

    public static class ConfigSettings
    {
        public static String getConsumerKey()
        {
            return System.Configuration.ConfigurationManager.AppSettings["ConsumerKey"].ToString();
        }
    
        public static String getConsumerSecret()
        {
            return System.Configuration.ConfigurationManager.AppSettings["ConsumerSecret"].ToString();
        }
    
    }
    

    Web.config:

    <appSettings>
    
        <add key="ConsumerKey" value="xxxxxxxxxxxxxxxxxxxx"/>
        <add key="ConsumerSecret" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    
    </appSettings>
    

    Assicurati di aver impostato la proprietà ‘utilizzo di porte dinamiche” del progetto di “falso” e immettere un numero di porta statico, invece. (Io ho usato 1066).

    Spero che questo aiuta!

    OriginaleL’autore ThdK

  5. 7

    Utilizzare http://smackaho.st

    Ciò che fa è un semplice DNS associazione a 127.0.0.1, che permette di bypassare i filtri su localhost o 127.0.0.1 :

    smackaho.st. 28800 IN UN 127.0.0.1

    Quindi, se si fa clic sul link, si visualizzerà quello che hai sul tuo webserver locale (e se non ne avete uno, si otterrà un errore 404). Ovviamente si può impostare qualsiasi pagina/porta :

    http://smackaho.st:54878/twitter/callback

    questo è un dead link ora
    Non è morto. . . .
    smackaho.st non è più disponibile tbaggery.com/2010/03/04/smack-a-ho-st.html. Utilizzare ivs.a me, invece. Si va direttamente al localhost.

    OriginaleL’autore Mob

  6. 7

    Callback URL cura

    http://localhost:8585/logintwitter.aspx
    

    Convertire

    http://127.0.0.1:8585/logintwitter.aspx
    

    OriginaleL’autore Hakkı Eser

  7. 4

    Stavo lavorando con Twitter callback url sul mio localhost. Se non siete sicuri di come creare un virtual host ( questo è importante ) utilizzare Ampps. E ‘ davvero cool e easy. In pochi passi si hanno proprio host virtuale e poi ogni url di lavorare su di esso. Per esempio:

    1. scaricare e installare ampps

    2. Aggiungere un nuovo dominio. ( qui è possibile impostare, ad esempio twitter.locali), significa che il tuo host virtuale sarà http://twitter.local e funzionerà dopo il passo 3.

    3. Sto lavorando per Vincere in modo da andare sotto al tuo host di file -> C:\Windows\System32\Drivers\etc\hosts e aggiungere la riga: 127.0.0.1 twitter.locale

    Riavviare il Ampps e si può usare il callback. È possibile specificare qualsiasi url, anche se l’utilizzo di framework MVC o hai htaccess url rewrite.

    Spero Che Questo Aiuto!
    Ciao.

    Grazie per il suggerimento. Su linux, basta aggiungere lo sviluppo nome di dominio a /etc/hosts

    OriginaleL’autore Glibo

  8. 3

    Quando sviluppo locale, ho sempre un locale ospitato dev nome che rispecchia il progetto a cui sto lavorando. Questa in xampp tramite xampp\apache\conf\extra\httpd-vhosts.conf e quindi anche in \Windows\System32\drivers\etc\hosts.

    Quindi, se io sono la creazione di un locale sito dev per example.com vorrei impostare come esempio.dev in quei due file.

    Risposta breve: una Volta che questo è impostato correttamente, si può semplicemente trattare questo url (http://example.dev) come se fosse dal vivo (piuttosto che locale) come si imposta l’Applicazione di Twitter.

    Una simile risposta è stata data qui: https://dev.twitter.com/discussions/5749

    Citazione diretta (enfasi aggiunta):

    È in grado di fornire qualsiasi URL valido con un nome di dominio riconosciamo il
    dettagli di applicazione pagina. OAuth 1.0 richiede di inviare un
    oauth_callback valore del token di richiesta passaggio del flusso e ti
    accettare un dinamica locahost a base di callback che passo
    .

    Questo funzionato come un fascino per me. Spero che questo aiuta.

    OriginaleL’autore Joe Bergevin

  9. 3

    Può essere fatto molto comoda con Violinista:

    • Aprire il menu Strumenti > PADRONI di casa…
    • Inserire una riga come 127.0.0.1 your-production-domain.com, assicurarsi che “Attiva la rimappatura delle richieste di…” è selezionato. Non dimenticare di premere Salvare.
    • Se l’accesso a server di produzione è necessaria, è sufficiente uscire da Fiddler o disattivare la rimappatura.
    • Di partenza Violinista di nuovo per attivare la rimappatura (se è selezionata).

    Un piacevole bonus è che si può specificare una porta personalizzata, come questo:
    127.0.0.1:3000 your-production-domain.com (sarebbe impossibile raggiungere questo obiettivo tramite il file hosts). Inoltre, invece di IP, è possibile utilizzare qualsiasi nome di dominio (ad esempio, localhost).

    In questo modo, è possibile (ma non necessario) per registrare il tuo account Twitter app solo una volta (a patto che non mente utilizzando le stesse chiavi per lo sviluppo locale e la produzione).

    OriginaleL’autore Roman Boiko

  10. 2

    modificare questa funzione su TwitterAPIExchange.php in linea #180

    public function performRequest($return = true)
    {
        if (!is_bool($return)) 
        { 
            throw new Exception('performRequest parameter must be true or false'); 
        }
    
        $header = array($this->buildAuthorizationHeader($this->oauth), 'Expect:');
    
        $getfield = $this->getGetfield();
        $postfields = $this->getPostfields();
    
        $options = array( 
            CURLOPT_HTTPHEADER => $header,
            CURLOPT_HEADER => false,
            CURLOPT_URL => $this->url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false
        );
    
        if (!is_null($postfields))
        {
            $options[CURLOPT_POSTFIELDS] = $postfields;
        }
        else
        {
            if ($getfield !== '')
            {
                $options[CURLOPT_URL] .= $getfield;
            }
        }
    
        $feed = curl_init();
        curl_setopt_array($feed, $options);
        $json = curl_exec($feed);
        curl_close($feed);
    
        if ($return) { return $json; }
    }
    
    È possibile scaricare TwitterAPIExchange.php da qui github.com/J7mbo/twitter-api-php

    OriginaleL’autore Helper

  11. 2

    Ho avuto la stessa sfida e non ero in grado di dare localhost come un valido callback URL. Così ho creato un semplice dominio per aiutare noi sviluppatori:
    https://tolocalhost.com

    Sarà reindirizzare qualsiasi percorso localhost e la porta di dominio di cui hai bisogno. Spero che possa essere utile ad altri sviluppatori.

    Risorsa eccellente, Ma il tuo dominio aggiunge “/” alla fine dell’url che porta a 404 in alcune occasioni. per favore potete risolvere il problema? Per esempio si reindirizza come “localhost/nome/?<risposta>, ma dovrebbe essere “localhost/nome?<risposta>
    Ho cercato di riprodurre questo, ma sembra che lo script funziona correttamente. Che browser stai usando? Ho provato Chrome, Safari, Firefox e funziona come previsto.
    Succede anche a me sia in Chrome e Firefox. Questo è il nome che ho messo nella pagina “localhost:8080/dashboard/twitterRedirect.jsp” Ma quando si reindirizza va a “localhost:8080/dashboard/twitterRedirect.jsp/… siete Pregati di notare che il simbolo “/” prima del punto di domanda. Causerà la mia app per inviare me 404
    si dovrebbe mettere l’URL nel campo nome host. Si chiama: hostname, non l’URL 😉 L’idea è di essere in grado di eseguire l’override ‘localhost’ a qualcosa come il mio.localhost.bla poi sarà che invece di localhost. Nel tuo caso il campo host deve essere localhost. Impostare la porta 8080 e configurare il redirect in modo da andare a: tolocalhost.com/dashboard/twitterRedirect.jsp questo vi reindirizza a: localhost:8080/dashboard/twitterRedirect.jsp
    capito. funziona come un fascino

    OriginaleL’autore Jørgen

  12. 1

    set callbackurl in app twitter : 127.0.0.1:3000
    e impostare WEBrick associare su 127.0.0.1 invece di 0.0.0.0

    comando rails s -b 127.0.0.1

    OriginaleL’autore Alok Yadav

  13. 1

    Sembra di Twitter consente ora localhost a fianco di ciò che avete in Callback URL impostazioni, fintanto che c’è un valore.

    OriginaleL’autore MrMakeIt

  14. 1

    Ho lottato con questo e a seguito di una dozzina di soluzioni, alla fine tutto quello che ho dovuto fare per lavorare con qualsiasi ssl api sull’host locale era:

    Scaricare: cacert.file pem

    In php.ini * commento e modificare:

    curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"

    • Puoi trovare dove i vostri php.ini file sulla vostra macchina da corsa php --ini nel tuo CLI
    • Ho messo il mio cacert.pem nella stessa directory del php.ini per facilità.

    OriginaleL’autore Lewis

  15. 1

    Questi sono i passaggi che ha lavorato per me per ottenere Facebook lavorare con un’applicazione locale sul mio portatile:

    • goto apps.twitter.com
    • inserire il nome, l’app descrizione e l’URL del tuo sito
      Nota: per localhost:8000, usare 127.0.0.1:8000 dato che il primo non funziona
    • inserire il callback URL corrispondente callback URL definito in TWITTER_REDIRECT_URI la vostra applicazione
      Nota: ad esempio: http://127.0.0.1/login/twitter/callback (localhost non funziona).
    • Importante inserire sia la “privacy policy” e “termini di utilizzo” Url se si desidera richiedere l’indirizzo email dell’utente
    • verificare l’accettazione di termini casella di controllo
    • fare clic su [Crea la Tua Applicazione Twitter]
    • passare alla [Tasti e Token di Accesso] scheda
    • copiare il “Consumatore Chiave (Chiave API)” e “Consumatore Segreta delle API (Segreto)” TWITTER_KEY e TWITTER_SECRET nell’applicazione
    • fare clic su “Autorizzazioni” scheda e impostare in modo appropriato di “sola lettura”, “leggere e scrivere” o “leggere, scrivere e dirigere il messaggio” (uso il meno intrusivo necessario per la vostra applicazione, per il solo e OAuth login “sola lettura” è sufficiente
    • Sotto “Ulteriori Autorizzazioni di” controllare “la richiesta di indirizzi e-mail da utenti” casella di controllo se si desidera che l’indirizzo email dell’utente per essere restituito al OAuth dati di login (nella maggior parte dei casi di controllo sì)

    OriginaleL’autore Kmeixner

  16. 0

    Sembra oggi http://127.0.0.1 anche smesso di lavorare.
    Una soluzione semplice è quello di utilizzare http://localtest.me invece di http://localhost si è sempre rivolta verso 127.0.0.1 E si può anche aggiungere a piacere sottodominio, e sarà ancora il punto di 127.0.0.1

    Vedere Sito web

    OriginaleL’autore Aron Einhorn

Lascia un commento