【发布时间】:2011-03-26 14:41:32
【问题描述】:
我正在开发使用 Twitter OAuth 的 Rails 3 应用程序,但我遇到了麻烦,因为在点击“允许”后,我显然无法获得 access_token,当我转到 Twitter 时,Twitter 将我重定向回我的应用程序 URL。 com/settings/connections 我无法在此处看到我的应用已获得授权。我猜我的控制器有问题,希望您能指出:
class OauthController < ApplicationController
def start
request_token = client.get_request_token(:oauth_callback => 'http://localhost:3000')
session[:request_token] = request_token.token
session[:request_token_secret] = request_token.secret
redirect_to request_token.authorize_url
end
def callback
@access_token = client.get_access_token(:oauth_verifier => params[:oauth_verifier])
render :json => access_token_get('https://api.twitter.com/account/verify_credentials.json')
end
protected
def client
@consumer = OAuth::Consumer.new(
'key','secret',
:site => 'https://api.twitter.com',
:authorize_url => 'https://api.twitter.com/oauth/authorize',
:access_token_url => 'https://api.twitter.com/oauth/access_token'
)
end
end
请帮忙,告诉我我的错误在哪里,谢谢关注!
罗德里戈·阿尔维斯·维埃拉。
【问题讨论】:
-
其实有一个'def start; request_token = client.get_request_token(:oauth_callback => 'localhost:3000')' 标记隐藏了代码,我无法修复:-p
-
这可能是一个愚蠢的问题,但你在推特上注册了应用程序吗?
-
是的,我做到了。这就是让问题更奇怪的原因:/
标签: ruby-on-rails ruby authentication twitter oauth