我的Salesforce密码改变了,现在我的Ruby on Rails应用程序坏了



我有一个简单的演示应用程序设置,能够从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:"oauth_callback"

导致错误的行是:

db_client.authenticate(:token => params[:code])

就像我得到的令牌是无效的之类的。

它工作得很好,直到我改变了我的Salesforce密码(他们要求我这样做)。我错过了什么?谢谢你的帮助。

如果您收到的响应是您的刷新令牌不再有效,那么您需要从头开始重新启动OAuth进程以获得新的刷新令牌;然后,您可以在应用程序的后续使用中使用新的会话令牌,就像您到现在为止一样。

从本质上讲,就像你第一次启动应用程序一样启动这个过程

最新更新