我想开始玩grails spring security twitter plugin,我克隆了github repo of the plugin demo application。
设置一个新的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登录”选项,只需 read&写了权限到twitter应用程序并创建了我的访问令牌(我没有在我的grails应用程序中指定)。
有什么想法吗?