我的Salesforce密码已更改,现在我的Ruby on Rails应用程序已损坏
问题描述:
我有一个简单的演示应用程序,可以从Ruby on Rails应用程序访问Salesforce.com。我的代码非常简单:我的Salesforce密码已更改,现在我的Ruby on Rails应用程序已损坏
def sign_in_salesforce
client = OAuth2::Client.new(ENV['SALESFORCE_CONSUMER_KEY'], ENV['SALESFORCE_CONSUMER_SECRET'], :site => 'https://login.salesforce.com/', :authorize_url => 'services/oauth2/authorize', :token_url => 'services/oauth2/token')
auth_url = client.auth_code.authorize_url(:redirect_uri => 'https://99.44.242.76:3000/users/oauth_callback')
redirect_to auth_url
end
然后我有一个方法来照顾回调。
def oauth_callback
db_client = Databasedotcom::Client.new
db_client.authenticate(:token => params[:code])
puts db_client.inspect
end
在控制台的错误是: 引发ArgumentError(引发ArgumentError): 应用程序/控制器/ users_controller.rb:60:在`oauth_callback”
,导致该错误的行是:
db_client.authenticate(:token => params[:code])
像我得到的令牌是无效的或东西。
它工作正常,直到我改变了我的Salesforce密码(他们要求我这样做)。我错过了什么?谢谢您的帮助。
答
如果您收到的响应是您的刷新令牌不再有效,那么您需要重新从头开始重新启动OAuth进程以获取新的刷新令牌;然后您就可以像以前一样使用应用程序的后续使用中的新会话令牌。
本质上,启动该过程就像您第一次启动该应用程序时一样。
它怎么不起作用? – superfell 2013-02-28 21:54:46
对不起,有时候我是个白痴。这个问题现在应该更清楚了。 – jhamm 2013-02-28 22:00:16
params字典中有什么? – superfell 2013-03-01 16:04:46