我有一个简单的演示应用程序设置为能够从 Ruby on Rails 应用程序访问 Salesforce.com。我的代码非常简单:
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): app/controllers/users_controller.rb:60:in `oauth_callback'
导致错误的行是:
db_client.authenticate(:token => params[:code])
就像我得到的令牌是无效的一样。
在我更改我的 Salesforce 密码(他们要求我这样做)之前,它运行良好。我错过了什么?谢谢您的帮助。