2011-06-20 2 views
2

Je suivais tout de la documentation: http://dev.twitter.com/pages/sign_in_with_twitterTwitter Authentifier affiche l'écran Autorisez et reload authentifie et continue de callback

Je travaille sur une application de rails et voilà comment mon code ressemble (code ci-dessous utilise bijou rubis OAuth):

@consumer=OAuth::Consumer.new("key" , "secret", {:site=>"https:// 
api.twitter.com"}) 
@[email protected]_request_token(:oauth_callback => 
"#{SITE_BASE}/callback") 
redirect_to 
@request_token.authorize_url().gsub("authorize","authenticate") 

URL générée est: https://api.twitter.com/oauth/authenticate?oauth_token=_REQUEST_TOKEN_

Je suis déjà connecté à un de twitter.com d avoir autorisé l'application. Mais affiche l'écran d'autorisation: Autoriser Twoo Dev à utiliser votre compte? Tout ce que je fais est de recharger la page et il me faut le rappel de ma demande. J'ai également utilisé omniauth gem et j'ai eu le même problème, d'où je suis passé à oauth.

Veuillez indiquer ce qui pourrait ne pas fonctionner.

Cordialement, Aditya

Voici les informations d'en-tête pour l'url: Authentifier

Response Headersview source 
Date Mon, 20 Jun 2011 00:48:13 GMT 
Server hi 
Status 200 OK 
X-Transaction 
Etag ""-gzip 
X-Frame-Options SAMEORIGIN 
Last-Modified Mon, 20 Jun 2011 00:48:13 GMT 
X-Runtime  0.06452 
Content-Type text/html; charset=utf-8 
Pragma no-cache 
X-Revision  DEV 
Expires Tue, 31 Mar 1981 05:00:00 GMT 
Cache-Control no-cache, no-store, must-revalidate, pre-check=0, post- 
check=0 
X-MID 
Set-Cookie  lang=en; path=/ lang=en; path=/ _twitter_sess=; 
domain=.twitter.com; path=/; HttpOnly 
Vary Accept-Encoding 
Content-Encoding  gzip 
Content-Length 2936 
Keep-Alive  timeout=15, max=100 
Connection  Keep-Alive 
+0

Vous pouvez envisager d'utiliser omniauth. http://railscasts.com/episodes/241-simple-omniauth – Mischa

+0

En fait, je suivais ce tutoriel seulement. Je ne pourrais pas suivre mot à mot bien que j'utilise des Rals 2.3.10 et en l'occurrence omniauth ne supporte pas les rails en dessous de la version 3. – whizcreed

Répondre

0

Enfin, j'ai compris le problème et une solution de contournement.

Le problème est lié aux comptes Twitter Application API avec l'accès direct aux messages activé.

Lorsque vous sélectionnez "Lire, Ecrire, & Messages directs" pour le type d'accès par défaut de votre application. Connectez-vous avec Twitter comme il ne s'arrête entre pour afficher le message ci-dessous:

Accédez à vos messages directs jusqu'à Juin 30, 2011.

Click here to read more about the message

Il ne dit nulle part sur site de développement twitter, api docs, articles etc qu'ils vont mettre une pause dans la connexion avec flux Twitter.

Solution: Déplacer l'option « type par défaut d'accès » de votre application à quoi que ce soit d'autre que « Lire, écrire, & messages directs » et qui devrait permettre aux utilisateurs d'applications pour aller automatiquement connecté sans avoir à voir l'écran authorize juste pour la notification de Twitter. La bonne chose est qu'il semble que ce problème devrait être résolu après le 30 juin, une fois que Twitter n'aura pas besoin d'afficher ce message à ses utilisateurs autorisant les applications qui ont besoin d'un accès direct aux messages.

0

Ceci est un bug avec Twitter. Vous devriez déposer un rapport de bogue dans leur issue tracker.