1

我想开始玩grails spring security twitter 插件,我已经克隆了插件演示应用程序的 github repo

在设置一个新的 twitter 应用程序并使用 Twitter 给我的数据设置我的 consumerKey/consumerSecret 属性后,我运行了该应用程序(Grails 2.1.1,插件版本 0.5,如演示中所示)。

grails 应用程序启动,我可以看到“使用 twitter 登录”按钮。不幸的是,当我单击它时,我收到以下错误:

Error 500: Internal Server Error

URI
    /myApp/j_spring_twitter_security_check
Class
    org.springframework.web.client.HttpClientErrorException
Message
    401 Unauthorized

Around line 101 of TwitterAuthFilter.groovy

 98:        String url = linkGenerator.link(uri: authFilter, absolute: true)
 99:        log.debug("Back url: $url")
100:
101:        OAuthToken requestToken = oauth.fetchRequestToken(url, null)
102:        request.session.setAttribute(REQUEST_TOKEN, requestToken)
103:        String authorizeUrl = oauth.buildAuthorizeUrl(requestToken.value, (OAuth1Parameters) OAuth1Parameters.NONE)
104:        response.sendRedirect(authorizeUrl)

Around line 49 of TwitterAuthFilter.groovy

47:        String oauthVerifier = request.getParameter("oauth_verifier")
48:        if (oauthVerifier == null || oauthVerifier.length() == 0) {
49:            redirectToTwitter(request, response)
50:            return null
51:        }

Trace

   Line | Method
->> 101 | redirectToTwitter     in TwitterAuthFilter.groovy
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    49 | attemptAuthentication in     ''
|   886 | runTask . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
|   908 | run                   in     ''
^   619 | run . . . . . . . . . in java.lang.Thread

在我的 twitter 应用程序设置中,我启用了“允许此应用程序用于使用 Twitter 登录”选项,授予twitter 应用程序的读写权限并创建了我的访问令牌(我没有在我的 grails 中指定)应用程序,虽然)。

有任何想法吗?

4

0 回答 0