2011-06-20 9 views
2

Я выполняю все из документации: http://dev.twitter.com/pages/sign_in_with_twitterTwitter Аутентифицировать отображает экран Авторизовать и перезаряжания он Идентифицирует и продолжает обратный вызов

Я работаю на приложение рельсы и это, как мой код выглядит следующим образом (код ниже использует 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 генерируемый: https://api.twitter.com/oauth/authenticate?oauth_token=_REQUEST_TOKEN_

Я уже вошли в twitter.com ап d разрешили приложение. Но отображает экран авторизации: Авторизовать Twoo Dev, чтобы использовать свою учетную запись?

Все, что я делаю, это перезагрузка страницы, и она возвращает меня в обратный вызов моего приложения.

Я также использовал драгоценный камень omniauth и имел ту же проблему, поэтому я перешел к oauth.

Пожалуйста, сообщите, что может быть неправильным.

С уважением, Адитья

Ниже приводится информация заголовка для AUTHENTICATE URL:

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

Возможно, вы захотите рассмотреть возможность использования omniauth. http://railscasts.com/episodes/241-simple-omniauth – Mischa

+0

На самом деле я следовал только этому руководству. Не мог следовать слово за словом, хотя, поскольку я использую rals 2.3.10, и, как это бывает, omniauth не поддерживает рельсы ниже версии 3. – whizcreed

ответ

0

Наконец-то я выяснил проблему и обходной путь.

Проблема связана с Twitter API приложений API с прямым доступом к сообщениям.

Когда вы выбираете «Чтение, запись, &« Прямые сообщения »для типа доступа по умолчанию для вашего приложения. Вход с использованием Twitter терпит неудачу, как это останавливается между ними, чтобы отобразить сообщение ниже:

Access ваши прямые сообщения до июня 30, 2011.

Click here to read more about the message

Он не говорит, что в любом месте twitter dev site, api docs, articles и т. д., что они будут помещать паузу в Sign in с потоком twitter.

Решение: Переместить вариант вашего приложения «по умолчанию тип доступа» к чему-либо другому, но «чтение, запись, & прямые сообщения», и это должно позволить пользователям приложения идти автоматически авторизованы без видеть экран Авторизоваться только ради уведомления твиттера.

Хорошо, что кажется, что эта проблема должна быть решена после 30 июня, когда Twitter не должен отображать это сообщение для своих пользователей, разрешающих приложения, которым также нужен прямой доступ к сообщениям.