我正在尝试通过OAuth与QuickBooks Online进行身份验证。点击QuickBooks'上的授权后通知屏幕,它按预期重定向到回调网址,但我无法访问我在开头创建的请求令牌对象。
我尝试使用会话变量,但在QuickBooks调用时变量为nil。我怎么能这样做?
class QuickBooksController < ApplicationController
def connect
@call_back_url = 'http://127.0.0.1:3000/quickbooks/callback'
@consumer = OAuth::Consumer.new('key', 'secret', {
:site => 'https://oauth.intuit.com',
:request_token_path => '/oauth/v1/get_request_token',
:authorize_url => 'https://appcenter.intuit.com/Connect/Begin',
:access_token_path => '/oauth/v1/get_access_token'
})
@request_token = @consumer.get_request_token(:oauth_callback => @callback_url)
session[:request_token] = @request_token
redirect_to @request_token.authorize_url(:oauth_callback => @call_back_url)
end
def callback
#This does not work because session[:request_token] is nil
@access_token = session[:request_token].get_access_token(:oauth_verifier => params[:oauth_verifier])
end
end