114 votes

Twitter oAuth callbackUrl - développement localhost

Quelqu'un d'autre a-t-il du mal à faire en sorte que l'URL de rappel de Twitters oAuth atteigne son environnement de développement localhost ? Apparemment, elle a été désactivée récemment. http://code.google.com/p/twitter-api/issues/detail?id=534#c1

Quelqu'un a-t-il une solution de contournement ? Je n'ai pas vraiment envie d'arrêter mon développement.

135voto

Tony Points 6793

Alternative 1.

Configurez votre fichier .hosts (Windows) ou etc/hosts pour faire pointer un domaine vivant vers l'adresse IP de votre serveur local, par exemple :

127.0.0.1 xyz.com

où xyz.com est votre domaine réel.

Alternative 2.

L'article donne également le conseil d'utiliser un service de raccourcissement d'URL. Raccourcissez votre URL locale et fournissez le résultat en tant que callback.

Alternative 3.

En outre, il semble que cela fonctionne de fournir par exemple http://127.0.0.1:8080 comme rappel à Twitter, au lieu de http://localhost:8080 .

25voto

Adam Points 1154

J'ai dû faire ça la semaine dernière. Apparemment, localhost ne fonctionne pas mais 127.0.0.1 oui...allez savoir. Cela suppose bien sûr que vous enregistrez deux applications auprès de Twitter, l'une pour votre site en direct www.mysite.com et l'autre pour 127.0.0.1.

12voto

Zamith Points 1637

Mettez juste http://127.0.0.1:xxxx/ comme url de rappel, où xxxx est le port de votre framework.

9voto

arikfr Points 1918

Oui, il a été désactivé en raison du récent problème de sécurité découvert dans OAuth. La seule solution pour le moment est de créer deux applications OAuth - une pour la production et une pour le développement. Dans l'application de développement, vous définissez votre URL de rappel localhost au lieu de l'URL active.

7voto

ThdK Points 1495

C'est comme ça que j'ai fait :

URL de rappel enregistré : 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>

Assurez-vous que la propriété 'use dynamic ports' de votre projet est réglée sur 'false' et entrez un numéro de port statique à la place. (J'ai utilisé 1066).

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X