我想开始玩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 中指定)应用程序,虽然)。
有任何想法吗?