Войти через Twitter перестал работать внезапно - PullRequest
0 голосов
/ 25 марта 2012

У меня есть веб-приложение, которое использует OAUTH Twitter для входа в систему. Я использую Twitter4J версии 2.1.11

Это приложение работало безупречно и совсем перестало работать, возможно, в последние пару недель.

public static void authWithTwitter() {
    try {           
        Twitter twitter = new TwitterFactory().getInstance();
        twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
        RequestToken requestToken = twitter.getOAuthRequestToken(getTwitterCallbackUrl());
        // save requestToken for retreival after user logs in 
            // code not shown for brevity
        redirect(requestToken.getAuthenticationURL());
    } catch(Exception e) {
        cLogger.error("Could not perform pre twitter login steps", e);
    }
}

Этот код (до тех пор, пока приложение не будет работать) перенаправит пользователя на страницу входа в Twitter, которая после успешной аутентификации вызовет URL-адрес обратного вызова.

Однако в последнее время это перестало работать, и я получаю следующее исключение.

401:Authentication credentials (http://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid conumer key/secret, access token/secret, and the system clock in in sync.
Failed to validate oauth signature and token
Relevant discussions can be on the Internet at:
        http://www.google.co.jp/search?q=8dda30a8 or
        http://www.google.co.jp/search?q=68161d96
TwitterException{exceptionCode=[8dda30a8-68161d96], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.11}
        at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:199)
        at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:75)
        at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:112)
        at twitter4j.http.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:148)
        at twitter4j.TwitterOAuthSupportBaseImpl.getOAuthRequestToken(TwitterOAuthSupportBaseImpl.java:88)
        at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:58)

Я выполнил поиск и убедился, что URL-адрес обратного вызова настроен правильно в настройках моего приложения на dev.Twitter.com

Я еще не сгенерировал ключ и секрет потребителя, но это будет следующим шагом, если я не смогу заставить его работать.

У кого-нибудь есть подсказка, почему это перестало бы работать?

1 Ответ

1 голос
/ 26 марта 2012

Убедитесь, что часы сервера установлены правильно. Если это больше, чем на несколько минут, запросы Твиттера не будут выполнены.

...